{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Image Captioning with LSTMs\n",
    "In the previous exercise you implemented a vanilla RNN and applied it to image captioning. In this notebook you will implement the LSTM update rule and use it for image captioning."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "# As usual, a bit of setup\n",
    "from __future__ import print_function\n",
    "import time, os, json\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "from cs231n.gradient_check import eval_numerical_gradient, eval_numerical_gradient_array\n",
    "from cs231n.rnn_layers import *\n",
    "from cs231n.captioning_solver import CaptioningSolver\n",
    "from cs231n.classifiers.rnn import CaptioningRNN\n",
    "from cs231n.coco_utils import load_coco_data, sample_coco_minibatch, decode_captions\n",
    "from cs231n.image_utils import image_from_url\n",
    "\n",
    "%matplotlib inline\n",
    "plt.rcParams['figure.figsize'] = (10.0, 8.0) # set default size of plots\n",
    "plt.rcParams['image.interpolation'] = 'nearest'\n",
    "plt.rcParams['image.cmap'] = 'gray'\n",
    "\n",
    "# for auto-reloading external modules\n",
    "# see http://stackoverflow.com/questions/1907993/autoreload-of-modules-in-ipython\n",
    "%load_ext autoreload\n",
    "%autoreload 2\n",
    "\n",
    "def rel_error(x, y):\n",
    "    \"\"\" returns relative error \"\"\"\n",
    "    return np.max(np.abs(x - y) / (np.maximum(1e-8, np.abs(x) + np.abs(y))))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Load MS-COCO data\n",
    "As in the previous notebook, we will use the Microsoft COCO dataset for captioning."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "word_to_idx <class 'dict'> 1004\n",
      "train_urls <class 'numpy.ndarray'> (82783,) <U63\n",
      "train_image_idxs <class 'numpy.ndarray'> (400135,) int32\n",
      "val_captions <class 'numpy.ndarray'> (195954, 17) int32\n",
      "train_features <class 'numpy.ndarray'> (82783, 512) float32\n",
      "train_captions <class 'numpy.ndarray'> (400135, 17) int32\n",
      "idx_to_word <class 'list'> 1004\n",
      "val_features <class 'numpy.ndarray'> (40504, 512) float32\n",
      "val_urls <class 'numpy.ndarray'> (40504,) <U63\n",
      "val_image_idxs <class 'numpy.ndarray'> (195954,) int32\n"
     ]
    }
   ],
   "source": [
    "# Load COCO data from disk; this returns a dictionary\n",
    "# We'll work with dimensionality-reduced features for this notebook, but feel\n",
    "# free to experiment with the original features by changing the flag below.\n",
    "data = load_coco_data(pca_features=True)\n",
    "\n",
    "# Print out all the keys and values from the data dictionary\n",
    "for k, v in data.items():\n",
    "    if type(v) == np.ndarray:\n",
    "        print(k, type(v), v.shape, v.dtype)\n",
    "    else:\n",
    "        print(k, type(v), len(v))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# LSTM\n",
    "If you read recent papers, you'll see that many people use a variant on the vanialla RNN called Long-Short Term Memory (LSTM) RNNs. Vanilla RNNs can be tough to train on long sequences due to vanishing and exploding gradiants caused by repeated matrix multiplication. LSTMs solve this problem by replacing the simple update rule of the vanilla RNN with a gating mechanism as follows.\n",
    "\n",
    "Similar to the vanilla RNN, at each timestep we receive an input $x_t\\in\\mathbb{R}^D$ and the previous hidden state $h_{t-1}\\in\\mathbb{R}^H$; the LSTM also maintains an $H$-dimensional *cell state*, so we also receive the previous cell state $c_{t-1}\\in\\mathbb{R}^H$. The learnable parameters of the LSTM are an *input-to-hidden* matrix $W_x\\in\\mathbb{R}^{4H\\times D}$, a *hidden-to-hidden* matrix $W_h\\in\\mathbb{R}^{4H\\times H}$ and a *bias vector* $b\\in\\mathbb{R}^{4H}$.\n",
    "\n",
    "At each timestep we first compute an *activation vector* $a\\in\\mathbb{R}^{4H}$ as $a=W_xx_t + W_hh_{t-1}+b$. We then divide this into four vectors $a_i,a_f,a_o,a_g\\in\\mathbb{R}^H$ where $a_i$ consists of the first $H$ elements of $a$, $a_f$ is the next $H$ elements of $a$, etc. We then compute the *input gate* $g\\in\\mathbb{R}^H$, *forget gate* $f\\in\\mathbb{R}^H$, *output gate* $o\\in\\mathbb{R}^H$ and *block input* $g\\in\\mathbb{R}^H$ as\n",
    "\n",
    "$$\n",
    "\\begin{align*}\n",
    "i = \\sigma(a_i) \\hspace{2pc}\n",
    "f = \\sigma(a_f) \\hspace{2pc}\n",
    "o = \\sigma(a_o) \\hspace{2pc}\n",
    "g = \\tanh(a_g)\n",
    "\\end{align*}\n",
    "$$\n",
    "\n",
    "where $\\sigma$ is the sigmoid function and $\\tanh$ is the hyperbolic tangent, both applied elementwise.\n",
    "\n",
    "Finally we compute the next cell state $c_t$ and next hidden state $h_t$ as\n",
    "\n",
    "$$\n",
    "c_{t} = f\\odot c_{t-1} + i\\odot g \\hspace{4pc}\n",
    "h_t = o\\odot\\tanh(c_t)\n",
    "$$\n",
    "\n",
    "where $\\odot$ is the elementwise product of vectors.\n",
    "\n",
    "In the rest of the notebook we will implement the LSTM update rule and apply it to the image captioning task. \n",
    "\n",
    "In the code, we assume that data is stored in batches so that $X_t \\in \\mathbb{R}^{N\\times D}$, and will work with *transposed* versions of the parameters: $W_x \\in \\mathbb{R}^{D \\times 4H}$, $W_h \\in \\mathbb{R}^{H\\times 4H}$ so that activations $A \\in \\mathbb{R}^{N\\times 4H}$ can be computed efficiently as $A = X_t W_x + H_{t-1} W_h$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# LSTM: step forward\n",
    "Implement the forward pass for a single timestep of an LSTM in the `lstm_step_forward` function in the file `cs231n/rnn_layers.py`. This should be similar to the `rnn_step_forward` function that you implemented above, but using the LSTM update rule instead.\n",
    "\n",
    "Once you are done, run the following to perform a simple test of your implementation. You should see errors around `1e-8` or less."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "next_h error:  5.70541311858e-09\n",
      "next_c error:  5.81431230888e-09\n"
     ]
    }
   ],
   "source": [
    "N, D, H = 3, 4, 5\n",
    "x = np.linspace(-0.4, 1.2, num=N*D).reshape(N, D)\n",
    "prev_h = np.linspace(-0.3, 0.7, num=N*H).reshape(N, H)\n",
    "prev_c = np.linspace(-0.4, 0.9, num=N*H).reshape(N, H)\n",
    "Wx = np.linspace(-2.1, 1.3, num=4*D*H).reshape(D, 4 * H)\n",
    "Wh = np.linspace(-0.7, 2.2, num=4*H*H).reshape(H, 4 * H)\n",
    "b = np.linspace(0.3, 0.7, num=4*H)\n",
    "\n",
    "next_h, next_c, cache = lstm_step_forward(x, prev_h, prev_c, Wx, Wh, b)\n",
    "\n",
    "expected_next_h = np.asarray([\n",
    "    [ 0.24635157,  0.28610883,  0.32240467,  0.35525807,  0.38474904],\n",
    "    [ 0.49223563,  0.55611431,  0.61507696,  0.66844003,  0.7159181 ],\n",
    "    [ 0.56735664,  0.66310127,  0.74419266,  0.80889665,  0.858299  ]])\n",
    "expected_next_c = np.asarray([\n",
    "    [ 0.32986176,  0.39145139,  0.451556,    0.51014116,  0.56717407],\n",
    "    [ 0.66382255,  0.76674007,  0.87195994,  0.97902709,  1.08751345],\n",
    "    [ 0.74192008,  0.90592151,  1.07717006,  1.25120233,  1.42395676]])\n",
    "\n",
    "print('next_h error: ', rel_error(expected_next_h, next_h))\n",
    "print('next_c error: ', rel_error(expected_next_c, next_c))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# LSTM: step backward\n",
    "Implement the backward pass for a single LSTM timestep in the function `lstm_step_backward` in the file `cs231n/rnn_layers.py`. Once you are done, run the following to perform numeric gradient checking on your implementation. You should see errors around `1e-6` or less."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "dx error:  5.60639146654e-10\n",
      "dh error:  2.97195575386e-10\n",
      "dc error:  7.65077576217e-11\n",
      "dWx error:  1.69336430807e-09\n",
      "dWh error:  2.64363497994e-08\n",
      "db error:  1.73492471602e-10\n"
     ]
    }
   ],
   "source": [
    "np.random.seed(231)\n",
    "\n",
    "N, D, H = 4, 5, 6\n",
    "x = np.random.randn(N, D)\n",
    "prev_h = np.random.randn(N, H)\n",
    "prev_c = np.random.randn(N, H)\n",
    "Wx = np.random.randn(D, 4 * H)\n",
    "Wh = np.random.randn(H, 4 * H)\n",
    "b = np.random.randn(4 * H)\n",
    "\n",
    "next_h, next_c, cache = lstm_step_forward(x, prev_h, prev_c, Wx, Wh, b)\n",
    "\n",
    "dnext_h = np.random.randn(*next_h.shape)\n",
    "dnext_c = np.random.randn(*next_c.shape)\n",
    "\n",
    "fx_h = lambda x: lstm_step_forward(x, prev_h, prev_c, Wx, Wh, b)[0]\n",
    "fh_h = lambda h: lstm_step_forward(x, prev_h, prev_c, Wx, Wh, b)[0]\n",
    "fc_h = lambda c: lstm_step_forward(x, prev_h, prev_c, Wx, Wh, b)[0]\n",
    "fWx_h = lambda Wx: lstm_step_forward(x, prev_h, prev_c, Wx, Wh, b)[0]\n",
    "fWh_h = lambda Wh: lstm_step_forward(x, prev_h, prev_c, Wx, Wh, b)[0]\n",
    "fb_h = lambda b: lstm_step_forward(x, prev_h, prev_c, Wx, Wh, b)[0]\n",
    "\n",
    "fx_c = lambda x: lstm_step_forward(x, prev_h, prev_c, Wx, Wh, b)[1]\n",
    "fh_c = lambda h: lstm_step_forward(x, prev_h, prev_c, Wx, Wh, b)[1]\n",
    "fc_c = lambda c: lstm_step_forward(x, prev_h, prev_c, Wx, Wh, b)[1]\n",
    "fWx_c = lambda Wx: lstm_step_forward(x, prev_h, prev_c, Wx, Wh, b)[1]\n",
    "fWh_c = lambda Wh: lstm_step_forward(x, prev_h, prev_c, Wx, Wh, b)[1]\n",
    "fb_c = lambda b: lstm_step_forward(x, prev_h, prev_c, Wx, Wh, b)[1]\n",
    "\n",
    "num_grad = eval_numerical_gradient_array\n",
    "\n",
    "dx_num = num_grad(fx_h, x, dnext_h) + num_grad(fx_c, x, dnext_c)\n",
    "dh_num = num_grad(fh_h, prev_h, dnext_h) + num_grad(fh_c, prev_h, dnext_c)\n",
    "dc_num = num_grad(fc_h, prev_c, dnext_h) + num_grad(fc_c, prev_c, dnext_c)\n",
    "dWx_num = num_grad(fWx_h, Wx, dnext_h) + num_grad(fWx_c, Wx, dnext_c)\n",
    "dWh_num = num_grad(fWh_h, Wh, dnext_h) + num_grad(fWh_c, Wh, dnext_c)\n",
    "db_num = num_grad(fb_h, b, dnext_h) + num_grad(fb_c, b, dnext_c)\n",
    "\n",
    "dx, dh, dc, dWx, dWh, db = lstm_step_backward(dnext_h, dnext_c, cache)\n",
    "\n",
    "print('dx error: ', rel_error(dx_num, dx))\n",
    "print('dh error: ', rel_error(dh_num, dh))\n",
    "print('dc error: ', rel_error(dc_num, dc))\n",
    "print('dWx error: ', rel_error(dWx_num, dWx))\n",
    "print('dWh error: ', rel_error(dWh_num, dWh))\n",
    "print('db error: ', rel_error(db_num, db))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# LSTM: forward\n",
    "In the function `lstm_forward` in the file `cs231n/rnn_layers.py`, implement the `lstm_forward` function to run an LSTM forward on an entire timeseries of data.\n",
    "\n",
    "When you are done, run the following to check your implementation. You should see an error around `1e-7`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "h error:  8.61053745211e-08\n"
     ]
    }
   ],
   "source": [
    "N, D, H, T = 2, 5, 4, 3\n",
    "x = np.linspace(-0.4, 0.6, num=N*T*D).reshape(N, T, D)\n",
    "h0 = np.linspace(-0.4, 0.8, num=N*H).reshape(N, H)\n",
    "Wx = np.linspace(-0.2, 0.9, num=4*D*H).reshape(D, 4 * H)\n",
    "Wh = np.linspace(-0.3, 0.6, num=4*H*H).reshape(H, 4 * H)\n",
    "b = np.linspace(0.2, 0.7, num=4*H)\n",
    "\n",
    "h, cache = lstm_forward(x, h0, Wx, Wh, b)\n",
    "\n",
    "expected_h = np.asarray([\n",
    " [[ 0.01764008,  0.01823233,  0.01882671,  0.0194232 ],\n",
    "  [ 0.11287491,  0.12146228,  0.13018446,  0.13902939],\n",
    "  [ 0.31358768,  0.33338627,  0.35304453,  0.37250975]],\n",
    " [[ 0.45767879,  0.4761092,   0.4936887,   0.51041945],\n",
    "  [ 0.6704845,   0.69350089,  0.71486014,  0.7346449 ],\n",
    "  [ 0.81733511,  0.83677871,  0.85403753,  0.86935314]]])\n",
    "\n",
    "print('h error: ', rel_error(expected_h, h))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# LSTM: backward\n",
    "Implement the backward pass for an LSTM over an entire timeseries of data in the function `lstm_backward` in the file `cs231n/rnn_layers.py`. When you are done, run the following to perform numeric gradient checking on your implementation. You should see errors around `1e-7` or less."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "dx error:  5.23868962162e-09\n",
      "dh0 error:  2.64006523882e-08\n",
      "dWx error:  1.43286346962e-09\n",
      "dWh error:  6.76857971315e-07\n",
      "db error:  4.7339587498e-10\n"
     ]
    }
   ],
   "source": [
    "from cs231n.rnn_layers import lstm_forward, lstm_backward\n",
    "np.random.seed(231)\n",
    "\n",
    "N, D, T, H = 2, 3, 10, 6\n",
    "\n",
    "x = np.random.randn(N, T, D)\n",
    "h0 = np.random.randn(N, H)\n",
    "Wx = np.random.randn(D, 4 * H)\n",
    "Wh = np.random.randn(H, 4 * H)\n",
    "b = np.random.randn(4 * H)\n",
    "\n",
    "out, cache = lstm_forward(x, h0, Wx, Wh, b)\n",
    "\n",
    "dout = np.random.randn(*out.shape)\n",
    "\n",
    "dx, dh0, dWx, dWh, db = lstm_backward(dout, cache)\n",
    "\n",
    "fx = lambda x: lstm_forward(x, h0, Wx, Wh, b)[0]\n",
    "fh0 = lambda h0: lstm_forward(x, h0, Wx, Wh, b)[0]\n",
    "fWx = lambda Wx: lstm_forward(x, h0, Wx, Wh, b)[0]\n",
    "fWh = lambda Wh: lstm_forward(x, h0, Wx, Wh, b)[0]\n",
    "fb = lambda b: lstm_forward(x, h0, Wx, Wh, b)[0]\n",
    "\n",
    "dx_num = eval_numerical_gradient_array(fx, x, dout)\n",
    "dh0_num = eval_numerical_gradient_array(fh0, h0, dout)\n",
    "dWx_num = eval_numerical_gradient_array(fWx, Wx, dout)\n",
    "dWh_num = eval_numerical_gradient_array(fWh, Wh, dout)\n",
    "db_num = eval_numerical_gradient_array(fb, b, dout)\n",
    "\n",
    "print('dx error: ', rel_error(dx_num, dx))\n",
    "print('dh0 error: ', rel_error(dh0_num, dh0))\n",
    "print('dWx error: ', rel_error(dWx_num, dWx))\n",
    "print('dWh error: ', rel_error(dWh_num, dWh))\n",
    "print('db error: ', rel_error(db_num, db))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# LSTM captioning model\n",
    "\n",
    "Now that you have implemented an LSTM, update the implementation of the `loss` method of the `CaptioningRNN` class in the file `cs231n/classifiers/rnn.py` to handle the case where `self.cell_type` is `lstm`. This should require adding less than 10 lines of code.\n",
    "\n",
    "Once you have done so, run the following to check your implementation. You should see a difference of less than `1e-10`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "loss:  9.82445935443\n",
      "expected loss:  9.82445935443\n",
      "difference:  2.26130225656e-12\n"
     ]
    }
   ],
   "source": [
    "N, D, W, H = 10, 20, 30, 40\n",
    "word_to_idx = {'<NULL>': 0, 'cat': 2, 'dog': 3}\n",
    "V = len(word_to_idx)\n",
    "T = 13\n",
    "\n",
    "model = CaptioningRNN(word_to_idx,\n",
    "          input_dim=D,\n",
    "          wordvec_dim=W,\n",
    "          hidden_dim=H,\n",
    "          cell_type='lstm',\n",
    "          dtype=np.float64)\n",
    "\n",
    "# Set all model parameters to fixed values\n",
    "for k, v in model.params.items():\n",
    "  model.params[k] = np.linspace(-1.4, 1.3, num=v.size).reshape(*v.shape)\n",
    "\n",
    "features = np.linspace(-0.5, 1.7, num=N*D).reshape(N, D)\n",
    "captions = (np.arange(N * T) % V).reshape(N, T)\n",
    "\n",
    "loss, grads = model.loss(features, captions)\n",
    "expected_loss = 9.82445935443\n",
    "\n",
    "print('loss: ', loss)\n",
    "print('expected loss: ', expected_loss)\n",
    "print('difference: ', abs(loss - expected_loss))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Overfit LSTM captioning model\n",
    "Run the following to overfit an LSTM captioning model on the same small dataset as we used for the RNN previously. You should see losses less than 0.5."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(Iteration 1 / 100) loss: 79.551150\n",
      "(Iteration 11 / 100) loss: 43.829097\n",
      "(Iteration 21 / 100) loss: 30.062500\n",
      "(Iteration 31 / 100) loss: 14.018146\n",
      "(Iteration 41 / 100) loss: 5.987804\n",
      "(Iteration 51 / 100) loss: 1.832227\n",
      "(Iteration 61 / 100) loss: 0.639907\n",
      "(Iteration 71 / 100) loss: 0.292380\n",
      "(Iteration 81 / 100) loss: 0.253432\n",
      "(Iteration 91 / 100) loss: 0.142089\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n1ut/RR3spAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xcfae59d940>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "np.random.seed(231)\n",
    "\n",
    "small_data = load_coco_data(max_train=50)\n",
    "\n",
    "small_lstm_model = CaptioningRNN(\n",
    "          cell_type='lstm',\n",
    "          word_to_idx=data['word_to_idx'],\n",
    "          input_dim=data['train_features'].shape[1],\n",
    "          hidden_dim=512,\n",
    "          wordvec_dim=256,\n",
    "          dtype=np.float32,\n",
    "        )\n",
    "\n",
    "small_lstm_solver = CaptioningSolver(small_lstm_model, small_data,\n",
    "           update_rule='adam',\n",
    "           num_epochs=50,\n",
    "           batch_size=25,\n",
    "           optim_config={\n",
    "             'learning_rate': 5e-3,\n",
    "           },\n",
    "           lr_decay=0.995,\n",
    "           verbose=True, print_every=10,\n",
    "         )\n",
    "\n",
    "small_lstm_solver.train()\n",
    "\n",
    "# Plot the training losses\n",
    "plt.plot(small_lstm_solver.loss_history)\n",
    "plt.xlabel('Iteration')\n",
    "plt.ylabel('Loss')\n",
    "plt.title('Training loss history')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# LSTM test-time sampling\n",
    "Modify the `sample` method of the `CaptioningRNN` class to handle the case where `self.cell_type` is `lstm`. This should take fewer than 10 lines of code.\n",
    "\n",
    "When you are done run the following to sample from your overfit LSTM model on some training and validation set samples."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "http://farm9.staticflickr.com/8175/8042929905_dbb7a3f616_z.jpg\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nv62kp0XEThFxcddyEXGWssbzROXTh09JOkPSLaX2d6y2VN7wzSjr+btycIN+TeJ+qrxhuFVZe7+M\npK0i4k/jyIPKus+OiK2VN9YfVgaKh0u6zdmEZNkRlp8V5emV0xOVNwWXK2uuB/HHmPNUQMqCTJJO\nj7n7LV2sLPBXbaz/371/l+YHUxrztdcfyqC36VxJz/DwzYruLX83tt31pGVYrTwuZvtJyhuph/rk\n8QcdeVxM+fRJyov9Ispaw6ZvjSJbd0fE7IE7IuJhSZepsW3Leq4r50Fzvh+OlHhpovB6SUdH1ur2\nlr9Z0tGSXt9qxjDI7x6rn0fEg610Zx9Htp+mfJJ0lKQn2p5SjqMpyqdr65Tjup97JS1n+/WjyNP6\nyhuigyP7j/Qcojwumt6tLB+m9fJW8nd2+R2vG2A9B0ajv03Z9/+QNKbRDEd5TPfzi4i4vzVtY+WN\n+wmNdT2qfCqwvHI/deVheUnLKYPK5vrfojy2vtNaz7c1WF+yc5U3b71miq8q084t/5by5n2ZMm2s\nxlo29czQnCdMvW1ziKSVbD+/TBu0rN5IWVHxk0Z6obmfakpZwTFTeS4/YYA8qqx7FeXN76ER8UBj\nHZcpb/znxwibg5Z160t6gqTvl23Sc5hym8020dt7AsopOZufXifpLOUxva+kVSPiTRFxZPOc6nCM\nsmK4+XmT8pzrcpgy0N1ruDwNoHeMPL79RURcEhE7K+9ftinzHqS8f/mx7aePc90YAUHQgmEtZTOP\nxZWPUTeMiMNLITesiLgsIt6tvJF4mfIR9LKSjrG91mgzUi5I60i60PZqvY/yUfzb3P2uiC8oC5x3\nKAOU5TTBnW4j4v6I+J6yCdl+ZR27KJuaDcv2DravkPRvZW3tHSW/yw274Bw3tv7f6wR7c5/pswt6\n20+2/V3btytvwO5U3oxFn/W313WP8maob9+TyA6Z31UGiXc5243vPFKA2Mjj0s7+HDcrn2xMV26j\npUaRR2nO755a/jabbvYCjIHeTdKxjt56mhfRqcqmGW3XDpD+05UBTFeTqiuVtfvt4U9H+t1jddMI\n6a5e/u6vPH56nzuUTWSlbD7YT6/Zzpm2byjt+d84Qp6mKo/RubZluQlpd/hdXXnTdGfr8xfNado4\n0nq69sNVmrsP5MDGcEx3mdYxbar6HzNWI7+2N3P2bZuhbIZ0h7KJTHP9UyX9OyLax8BVA+bxYuVT\n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\n/FvKJ0WhOcfVWIy1bOq5JiJmP4mKfMpwhKRX2l62TBu0rN5I2Z/0nEZ6M9TYhkXvietbPEDzt4ZX\nKO8FvtPc/xFxtPIaN6ZjcpwGLet6zcTag7C0z+PJ2N7jKqdKHvZTBkzHSXqm8incShHx7og4JfqP\nvCfl9eWNrc+blBVdXfZXBlifHy5fA3hAWYE+REScFRFbKvsg7aocgOQISbfaPqA8rcQICILmnV5H\n/K722DsqT6qtNPHDXL5SOercw8q+SO+IiJOio69PW0ScERFvVp5cr1EWfs+SdLLHNnzjpiWtP9he\nzfZqytql3ymbfg3JgrKG9Y2S/ks54tuTNcGdrCPi9ojYX3lD9XNlofLpkW5AS8H6advXKZs/TFc2\nj1lVWYM7iJta/+91gm13zOxNn73dnX3AjrB9t7KwvFNZU6uO9d8VQztf39NMr4/TlE1YvippemmL\nvLXtgZrS2n6Ksz/HHcoaqzuVI+FERx6lrO1r53GRxrxTJT0UEe13i4ymqUjXO2Bmb4vy256u1oAb\nRde0tqnl79Ud312pDLpHylP7d49FaOjxdY/yhrm331cvf4/T3BUxdyhrFZcrzar62VtZw/lnZ7+b\nb9l+6Qj56m2fa5oTI5tzNG+eFlGWN+9q5e1OZbOpUDb9HGk9c+2HyGa/NzW+H5UxHNNdprXSXFTZ\nZKjrOL6y/J3amH9H23/T3OXOa1vrnyrpxoh4pJXeVRqswqDX//JV5YZzrTLtXM0Jgl4l6faIuG6A\n9PoZa9nUc03HtKuVeX+mNKqyeqoGOO8jm159X9mMbbrtU5yvdVimY9mmqcrjpKtsuEpjPCbHapRl\n3dSu6aUSaa7mfxO9vTX+cmpJZbPCp0o6VNIGEfGtUVSm/j0izu74dA5oUtI9SNIWtlfvmmdAy2rO\nvWOniLgvIg5WVkh8TXnefFjZZBcjoE/QPBIR9ztfCrd2x3eXStk5VBM/ks4vlYHDdpIOL084fiLp\nJxHRrxajnb+HlU9kzis33J9R1uaOdpS6LTWn/8Ncq5BydLlSW950ce9pVek/dJGyNmjNmIAhd21b\nWaPzAUlvV7ZtPlVZUztczZCU/TX2UBZ25yhrB2cp+woMWsHQLxjtN90l34srm0ItqmwCd43yhmw1\nZbOV9vqHTa+fsg02tb2BMojdSDn0+Edtv3KAfXCy8ubpq8r+MQ8qm2qc0JHHMedzlObFOkZrsvI0\n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\nCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAA\nVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIA\nAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBV\nCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAA\nAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUg\nCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAA\nVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIA\nAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBV\nCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAA\nAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUg\nCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAA\nVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIA\nAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBV\nCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAA\nAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUg\nCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAA\nVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIA\nAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBV\nCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAA\nAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUg\nCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAA\nVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIA\nAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBV\nCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAA\nAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUg\nCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAA\nVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIA\nAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBV\nCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAA\nAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUg\nCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAA\nVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIA\nAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBV\nCGvV6E0AAAkASURBVIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBV\nCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAA\nAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUg\nCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAA\nVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIA\nAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBV\nCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAA\nAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUg\nCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAA\nVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIA\nAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBV\nCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAAAEBVCIIAAAAAVIUgCAAA\nAEBVCIIAAAAAVIUgCADw/+3XgQAAAACAIH/rQS6LAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAA\ngBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAA\nAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQI\nAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJ\nAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBF\nggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABY\nkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAA\nViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAA\ngBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAA\nAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQI\nAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJ\nAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBF\nggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABY\nkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAA\nViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAA\ngBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAA\nAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQI\nAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJ\nAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBF\nggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABY\nkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAA\nViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAA\ngBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAA\nAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQI\nAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJ\nAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBF\nggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABY\nkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAA\nViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGAlQq/WQDchG38AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xcfae59d3c8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "http://farm5.staticflickr.com/4134/4876982491_5359f44020_z.jpg\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0EAAALSCAYAAAAbeNqAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3Xe4dFV9Pu7nIzawi7ErdrEbkxhLUL9qLFiiYkVj/9lr\nYokae2/R2I0tURR7bIBdI3YlUSP2AgI2FBQD2GD9/lj7wDDvnHPmnLeArPu+rrne9+zZZc2ePbP3\ns1eZaq0FAABgFGc4tQsAAACwIwlBAADAUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQB\nAABDEYIAAIChCEEA/EmpqkOq6vWndjkA+NMlBAGwzVXVtavqyVV1zu2w+hOTtO2wXgAGUa05jwCw\nbVXVPyZ5XpJLttZ+tI3XfaYkJ7bWTtiW6wVgHGqCANgeaqmZurNsZMWttT8IQABsDSEIgG2qqp6c\nXguUJIdU1YlVdUJV7Tb9/yVVtXdVfT3Jb5PcdFruUVX1mar6RVUdV1Vfrqq9Fqz/FH2Cquoe03qv\nU1X/UlU/r6r/q6p3V9WuO+I1A/Cn5YyndgEAON15V5LLJblzkocn+WV6H54jp+dvlOSOSV6W5BdJ\nDpmmPyzJe5Psk+TM0/Jvr6pbttYOmFn/au24X5rkqCRPSXKJJI+ctnGXrX9JAJyeCEEAbFOtta9X\n1X+nh5j3zvYJqqqkB6Qrt9a+PbfoZVtrv5uZ92VJ/ifJPyQ5IOs7srV2s5nld0ry0Ko6R2vtN5t+\nQQCc7mgOB8CO9skFAShzAejcSc6T5MAk11hinS3Jv81NOzDJTkl223xRATg9UhMEwI52yKKJVXXL\nJE9IcvUks4MlnLjkeg+b+/vo6d/zbKRwAJz+qQkCYEc7fn5CVe2R3h/ouCQPTHLzJDdO8pYsOdJc\nktVGjFt2eQAGoSYIgO1hoz9Cd7v0cHTT1tofVyZW1X22aakAIGqCANg+jp3+PfeS85+QHpxOujlX\nVZdI8nfbtFQAECEIgO3joPRmaM+qqrtV1Z2qapc15t8vydmSfKiq7l9VT0ry+STfXXJ7qzV50xQO\ngC0IQQBsc621Lyf55yRXTfKGJG9O8mfptT1bNJVrrX0iyb2TXCDJi5LcKcljkrxn0eoXrGO15ncb\nbZYHwACqNecHAABgHGqCAACAoQhBAADAUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCYJurqstX\n1YlVdccNzPugHVG2uW2fZdr287ZyPc+pquO3YtkT1/kx2VNdVf20ql6xHda7e1V9rKp+XVUnVNVN\ntnW5lj3Gquqm03zX3EgZgD89QhBMquoqVfXOqjqkqo6vqsOr6sNV9ZDp+SdPJ8f1Hh9fsO53T889\nfZVt32huHX+cTuxvr6rLzcx30yXLcNz221MsUlWfr6ovrvLcRab35TEz0+4/TftNVZ1vmfWtHBML\n5r3vdPH4nqo647Z4PdvIKX6IrqpuVVVPOLUKs521JCduxbJL/WhfVT2xqm6xye1sre31w4JvSXKZ\nJI9N8vdJvrrB5bd1ueaP27+vqgdv421sWlW9dY3v/qNm5ls5X5xQVVdcZT1Hzk37/My6TqiqX1XV\nN6vq36vqBjvg5cEOc1o6WcKppqquk+TjSQ5N8m9JfprkYkmuleRhSV6W5F1Jvjuz2NmTvCrJu6fH\nip/NrftcSW6e5IdJ9k7yxDWK8i9J/jvJmZNcLcn9k1y/qq7UWvtF+sXB3eaWeeFU3uclqWnaCeu9\nZra5zV6I7ZLk0ekXgOutb4tpVXWvJK9O8v4kt2+t/XGT5dimWmvfrqqdW2u/n5l86yR3TfLMU6lY\n29MTkjxpB2znSUlek2S/HbCt7W76frx6kie01l51apentfahBcft3ZNcJMnLT6VizWtJfpPkATn5\nO3/F77ecPUny5CR3WrCe+e+UluQH6eepSj/PXTbJ7ZLcvarelOSerbXtFYhhhxGCGFJVXSzJMa21\nX0+TnpDkV0n+srX2m7l5z5ckrbWvJ/n6zPRd00PQ11prb1ljcyvNge6T5ONVde3W2udWmfdTrbX3\nzWzje0lekh58Xtxa+2n6XdPZ8j01yU9aa/sueJ3nn8r+8zXKxyZU1VVaa/+7DVb1lSQPrKrntdZ+\nucEy3CMnXxCfIgBV1ZWnY/ZUM3chmWx5wfYnr6p2aa0d11o7MZuvCRpOVZ21tfbbJBeYJv16rfl3\npAXH7alqle+a3y36zl/FV5LsVVVXbK19Y4n5j5pfd1U9Nv18d9/0kPTUmeeu1Fo7eMmywGmG5nAM\no6rOVFW3r6oPpn+J7zbz9KWSHDwfgJJkqoHZGnsnOaC19skk30m/E76sA9MvHC+9yW3/eZLDqupd\nVbVnVW36M19VZ62qZ1TVQdXb7v+mqj5RVdddcvmV5n03ntZxXFX9z1QLl6q6U1UdXL0p4heq6kpz\ny/95Vb2xqn4wzfPjqnr1dCd5dr6V/hUXq6p9puYcR03znnmzr39a965V9Yiq+lqSD23NuiYtyTNy\ncm3QRspytySvS3JAkr0W1AB9pKq+VlUPnwL7plTVy6vqiLlpr5n28X1npl18mnaP6e9T9Amqqn2T\n3DvJSh+chc02q+pBVfX96T3+bFVdbYkynq+qXlRVX6+q/5ve8/cvagK0znruWVXfmTkGrzX3/Mqx\ndZnpWD46yUdmnjt+bv5dquoVVfXLqjqmenPb3WquaeSMXVc7Zmvqu5R+3n7AzD5cry/MztPn9jtV\n9duqOmIq+8Vm5jlHVb2kehPg31Zv/vSwJffZZao39z26qo6tqs9U1d/OzbPSLOu2VfXc6Xj6v6p6\ndpJvpX8OXjbN841pmbdW1TcXbG/Tfa8WrOsMVfUf03fRzefKes3p788luVGS3Wf2+Tdm1nHWqnrm\ndMz+tnpz6mdU1Zm2smzb6rumJXlRkmOzFTWVU8h/UJLvJ3lkVe088/Rrp9f/hKq6yFaUFXYoIYjT\nvaq6UlX9S5IjkrwtycWTPC6nbNp2aJK/qLkL722w7YsmuV6Slbtqb01yx6raaclVXHL69+hNFuGL\nSZ6VHoben+TQqnp6VV1qE+vaNb1ZyMeSPCrJ05JcOP1ie/cllm9JrpTk39ObDz4u/S7w+6vq79Ob\nSL0+yVOSXCEn77MVN5+299okD0ny9qk8712wnZbkPUl2Sm9m9p/pdzAft+RrPUl1N63eF+eIJC9I\nb/K41EXiEr6dflw8qJYMK1V1lyRvSL84ul1r7Q8LZntYkp+nN5c8Yrqo/Nuq2mhtzIFJLjh3zPxN\nepPLPWamXS99v39qlfW8NMknk/wh/UbA3ZLca26e+yR5cHqzoycluVySdy5R5ssnuVn6+/yI9Nd8\njSSfrAX9rVZx0/TPyr+nNx26YJIPVdVlZuZZaQL0nunfx07zrzw330Ro3/Qmre9OshJ63rNgvqTf\n7FjrmP19+j5r6Z/Bu02P16/2gqr3D/tQkn9K8rn0ffOSJOdLsvs0zxnSg/SD0j9Lj0y/0H1xVa3Z\nbHG64P1ckusneXF6jfo5kuxfVTdbsMjTk9wgyXPTm1u9Mz38V5L/mF7Pys2A1fpJLd1/ap2y75Re\nq75Xklu11g6Y28aKJyU5OMmPc/Jx++hpHSv77iHTa3lIeq3sY6fXs9EybeS7pqagNP84+4J5j0r/\n/N2+qq6w0XKtmG60vDX9PZ69QfDEJP+bvq8Orar9qup2ddrqnwhbaq15eJzuHuntmO+bfoI+Mb2p\n26uT/PUq8984/SLjD0k+k+Q5Sf42yRnX2Mau07qftMY8j01vu73z9Pfu0zJ7zs13o2n6Xaf1XjD9\nou57U5muvsY2vptk/yX2yQ2T7JN+R/CE9AupvZOcZcl9eoYkO81NO0+SXyR56RLL/yTJH5NcbWba\nrabX/esk55+Z/tCpjNecmbZFOZPcY5rvL2amPXta50vm5t0vyY82cAxdPD2QHTJt4/vpJ/uLrzL/\n55J8cZXnLjKV6TEz0+4/rfeK6Rfxf0zy7LXWN+3DH03HxAFJzrzE69hteh0/nMpwSPpF/sLXsUbZ\n7zH9/WfT329N8oOZ+V6V5PCZvy8/zXfHmWmvSXLcgm2szHtEkrPNTL/DtI9uuE4Zt9gP6R3tf5fk\nH9dZ9izTtv+Q5Aoz0y81Lb/PgmPrtQvW8+zZ15bk2tO8z5ib7y3Ta3rMgvWue8xO5XzFku/dA6f1\n3m+Nee40zfOIuenvTf9OvMjc8feKmb9fOR2315iZds4khyX5xsy0m07bODhz36kz7/2D5qbvO7uO\n1fbzonKt8jpP2k6SM6WHzF8n2WNuvptmy++ej6xSlvtO++gv5qY/bFrHqt/bc/Nv9Ltm3+m1LHq8\ne8F+3zPJeafXu+/cen4+t+5Vv8fmjpf7Lnjuz5L8Y3qz8RPSA9zzk+y+zH7w8NjRDzVBnK5U1QWq\n6vXpJ8VXJTkuvbbggq21+7fWvrBoudbaR9MvWt6b5Krpd/o+lH4H/VZbUaS9k7y3tXb8tJ1vpQ9u\nsFqTuDcmOTL9ruP+Sc6W5K6tta9sRRkybfvjrbW7JblQ+t32s6eHop9U1UtXuYM4u/yJrbUTkpPu\nWJ4n/a71f6ffdV/G/7TWZkd+Wnk/PthO2W/pC+l3h0+qfWit/W7l/1MTlF1n5pvffksPvbMOTHLh\n9ZqpVNW1q+rD6aHhUek1GzdqrV26tfb01tqP1nuRG9Va+3Z6LeWDq+q868y+a3ogPawt0XehtXZo\na+0prbVLpgf7z6TXSvygqj5Yc02+Fix/RPrF2fWmSXukf65elOQSM81f9kjfx1vjza21Y2f+XmkO\numbN5ex+qKqdpn34q/T3cNlj85OttZOaX7XWfpD+Gbz5/ObSv1vWc7Np3lfOTX9pFveN2vQxu4bb\npQfL16wxz82THJ8tX9O/pPcbvuk6yx7YWvvvlQmttWPSa2svv6DG+fXt1B+4Y+f0GrcbJLlpa21r\njtnbp3+fHzJbG5M+yE4l+X9rLbyV3zW/Tr95duO5x8Imb621o9IH+Nmq2qAk/zf9e44F2ziytfbC\n1tqVk1wnJ9dmfmNqJnlqjWoICwlBnN7snuSe6aOrPSbJTVpr+7TeAXdNrbWDWmu3T6/duGZ605iz\nJ3nHks29TqGqrprkKkk+V1WXXnmkNwm6dS3+TZAnpZ/IbpMeUM6VbdzZurV2TOujMN0gfUS5c6Xf\nHb3westWH4r56+l3yH+Z3tzqxtM6ljF/Ul/pDH34KtPPM7Pt81Xvn/Kz9IvwI5N8I/3icdH257d1\ndPqFybnXKeOt01/TT5PcprV299b7c20LazXjeXqW6xu0X3oTqPtOfSqW33hrH2ut3TX94vjI9FB0\n6yUWPTAnN337mySfT/Kl9FrOPaYLv92z9SHosLm/V5qBnmd+xllT347HVNX304/NX6Qfm5fN8sfm\n9xZM+06Sc1fVOeem/3CJ9e2W3nn9iLnpi7azYrPH7GouneSbrbW1jrvd0gP1/HfkN2ee38LURPFi\n6c0556227CFrlnbHeHJ6QP271trnt3Jdl00P2UfOPb6W/lk//zrLb813zR9aa5+Ybm7NPtYaDOWF\n6YF3a0YxXLlZtkX/2VmttS+01h6Q5Cbpx/y1srH+sLDdaa/J6c2X0ms57pNeDf9PVbVPkje0JUfy\nmu5UHpTkoKr6bnrfizukX6RuxMoX/kuy5Z3fluS2Sd48N/1/W2srvzP0vql25nVV9enWR4bbatOd\n/3unj1p3jiSfTb9z+4N1lrtv+vDhb0/vv/OL9CYPT05vBrGM1YbuXm367H57T3qofF56+/Njk5w1\nva/Tohs6y6xzkVdkav6V5MNTJ+g3JHlTW3uUvd+m97VYZJeZeRZqrX1r6gvw4Kp6wTplvF9685bH\nVtXRrbV1f+izqi6QXit6z/Q+Vz9Ob1o0X/uwyKeT3K2qLpQehj7QWjuxeqfxPdIvrJKtD0Gbfc+e\nluTx6bUZn0gPDyem18Jsj5t926Rj/gKbff1/Kjay31YLbsv2p1zNfunNcB9XVZ/dypqpM6SfKx6b\nxe/Roessv9nvmk1prR1VVS9L8uiqetomV3OV9Pdm1TBffbCavdO/a/4qJ/dJOtWHQIdZaoI4XWl9\nqNpXttb+MslfpF+w3zPJV6vqy1X14KkZ17K+PP17oU0U587pbcnvkN5sYvZxcJa7K/bY9CZxj9/E\n9k8yNRN8zHSS/Wz6HchXJ7lia22P1tp/LHExsFf6CHp3bq3t21r7yBTYzrY1ZVvGdAF/nSRPa609\ns7X2vtbax7L+RcaGtdYOa609Ib2d/q3TT/bPTnJ4Vb23qm6zSoffQ5NccpXndp+ZZy1PS2+u86h1\nytiS3CW9X9dzamaUtllVdcbqI3K9L72W5RnptRu3Su9v8M+ttfnal0VWws2e6b/psjL4wafSm8nt\nkeRXS9xo2F6/LbJXer+4B7XW3tFa++h0bK7XtHDWZRdMu1z66zpmE2U6NH0kvPnRshZtZyM2sg+/\nn+QK6wwscWiSi1XVWeamX2Hm+S0L0Y/Bw9L72sxbc9klHZ3FNWCX2Ip1Jv1Yvn16H8m3LDlQyGr7\n/PtJzrNKjczHW2vfX3Olm/+u2RovyCZrg6ay3DnJMem1wbPPVfWBV96S3hz9pem1RXsnuXBr7RFT\nc3A4zRCCON1qrX2ltfaQ9ABz9/Qv5Jck+XFVva1mRuKq1X8Je6UN84a+vKf1XSzJ61pr755/JHlH\nkhtX1WwNyhYn2tbad9NrQO5dmxjmuKouUVXvT29u9sz0Zjx7pXd2fuzUF2VZJ2TubmdVXS/L97nY\nGit3yOe/sx6Z7XRhPfWB+kBr7Tbp7+WT0i/u3pXeV+wZc4vsn17jc+/ZidVHkHpAes3Vf62zzW+l\nHxsPTu/7s9a8v09vNvnFJK+qqtvPbfdZ6bU970y/UP3n9OBz29bafq0PebuUqVy/TA9nJ+bkC6AD\n0wd2uFV6X6P1HJseDOYvuLfWomPz77POPpxz/ZoZHXJqurpn+gAUm/GhqUwPmpv+0GzdMXtslm8e\n9670gS3ut8Y8+6cH7wfMTX9k+qAHH1xn2T2q6uorE6amg/dN8q2pX9WKjb7m7yc5f1WdFBqr6uI5\n+Tt501prH0wf5e126bXg61ltn789yaWmY+0Uqg+PvvOCZRaVZ6PfNRtxiv0+0zfoDjk5rK6r+mh6\nr0ofsfSFs80nqw+nfkj6Mb9HerO7y7bWbtxae+syfRfh1KA5HKd7rXeo3yfJPtOFzX3Smx9cJP3C\nLkleOvXR+c/0wHPmJNdNbzL2g5w8DO6y7po+itNqFxDvS/+xuTuln5CS1Zu8PD/9ZP3wbPzu3eXT\n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\nwRtZbJXpX0nyuKp6/fyxt0Q5nprk8UleMRuAppqly7bWvrWR9W1rcxeSp0tT0Dt+o+/dZje3A7ax\nQ1TVLtP3/gXSL7x/fSoXKUkyDXt+mjlu1/iu+cUGzo1fSfKQqnpBa+3oJeY/dP58UlWPSfKuJE+o\nqm+31t4889xVWmubagoKW0tzOE6rHptklyT3mg9ASdJaO7G19rLW2hGbWXlVXWqqRVp2/rNV1b2n\n6v+Dk8z+Evylk3xp0YVMa+0XmynfjDun1yS9P8nx09/LOjD9wufSm9z2rZL8pKreUFV/s8l1JEmq\n6vxV9eKq+npV/V9VHV1V76uqKyyx7ElNuarqblX1rerNIj9VVZeb5nl4Vf2gqo6vqg9V1YXm1nGj\nqnrX1Ezwt9WbKz67qs48N987q+on1ZtY7j+V9adV9fStef3Tui9WVU9K8oNsm9qMluRpSS6R5F4b\nLMuTkjwxyataaw+Ze/qsSb5RVZ+uqntV1dk2W8DpvfivuWmfmN7PG8xMu9E07brT36foE1RVX0qv\nWb1yrd5sc6eqelpV/bh6k9QDqupiS5TxMlX1b1X1nWm5n1fVm6vqwht7qfW46fg6tqo+UlWXnZth\n5djafXr+N0lePfPc1+bmP39Vva2qjqmqX1bVq6vqr2uuaeTM/Kses1V1pfTjriV5QZ3cPHi9vjC7\nVm96/KPpc3NoVb2uqs4+M8+FquqN0347vqoOqqo7LrnT/rqqPlpVv5le5wdrrtlUndzP5prTto9M\n8q2qekeSD0yzfXCa533TMl9e+f/curbYz5tVVbtU1ceq6siVMtdcn6CprBdPcsuZ4/Z9M+vYtXpT\nscOn/fvtqnr4NijbtvquaUmekf4bV/+46ZX0wHqXJMem/27WrI9X1Ver6qG1oNkdbE9qgjitukWS\n77XWvryd1v+pJMcludxaM1XVtZPcJ8kd008EX07ywOlLfcWhSW5cVRdurf14WxWwqq6f5KJJ9m2t\nHV9V701vEvfiJVexEvKWuXu3yHuTXGra5j2q6jtJXpfkja21n21wXVdIcpMk70zfXxdO8sAkn6iq\nK7bWjlpiHTdPfx9emd4H4HFJ3ltVr02yd3pTxAsmefQ0z21mlr1LeiB8SXpzv+tM850//f1d0dJD\nwEeSfDTJe9KPxcdX1bdm72Auo6rONJXjPklunOSPSfbLyc1FttYBSb44le8Ny9QoVNUT0msvX91a\ne9CCWY5Lr2W9d5LXJvnXqnpbkte21r6wwfIdOJXtTK21P1TVGZNcM8kJSfZI8slpvr9J8tvptayY\nbW7zz+nRe2mBAAAfLUlEQVTv79nSm+9VTtlss9Iv1o5P8qwkf5bkMUlen+Rv1ynjdZNcLcmbkvw4\nyWXSX/+fV29K+sclXueD0o/JFyU5R5JHpl/cXbm1tlJL0dKbqn44yf7pNzeOWfBaM+2nD6c3/X1Z\neo34XkleNT/vZOesfcwelt4s68Xpteb7T8sdtNoLqqpzpTdtunh6c8uvpde83Db9c/N/VXWOJJ9O\n/9y9JL057l2SvLWqztZae8Ma6//LJJ9I8rMkT0+/KfvAJAdW1bVaa1+f2zevT3J4kiel7+svJTkk\nyT8ked5UvsPnlpm3TfqOTSHwgCSXTXKDmZqW+T5B909/zw5L8sJp2uHTOs6R5DNJzpX+ffWTJDdI\n8qKq2nWjzcY2+F1zxqradcH041prx89NOzj9e/shVfXCJWuDttBa+1VV7ZfkjlV1sdbaYdNTD0ly\nv/TPzvOq6j3p55mP+UFhtrvWmofHaeqRfhFxYpJ3LXjuXOn9AlYeZ11lHe9P8oM1tnFYkm+v8tz5\n0k+sX5/K8dMkz09vVrBo/v8v/aLu+PSLkKekX2TXGtv/62nde68xz2tmy5jkltN2Ljc33/2n6deZ\n9slFktwpyS/SL7LOt8Y2TkzyknXej53ST67vS2/q8fsk/zmV5wxLvqdnXjDtcun9vR6+zrJnm8p5\nTJLzz0x/5DT9B7PrT/Kv6RcA55uZdpYF63369FrOOzPtHdO+fNjcvN9M8vENHMNXTPIvSX4+re9r\n6RehC9+L9L5qb1nluetPr/N2M9OeP633zOnh8MQk91ltfTP78IfTv69e8nVcKf3i7WfTcl+f9vuq\nx9SCsp+Q5LrT39ea1vPWJB+eme+jST458/ctpuWuMTPtE0m+tmAbt5jW+cXZ4zE9JJ+QZLd1yrjo\n2LjhtM6/W2L/nJjkqLnj6AbT9KcsOLb+acF63jH72pLcfVr+njPTzpDef/CEuWNhqWM2yW7TOv9h\nyffuhdN6b7jGPE+Y5rnlzLQzJ/mf6Rg889zx9w8z830k/TN9wbkyHpfk/TPTHjwtu/8q7/0JSW4y\nN/1LSd63xH7eolyrvM6TtpN+Dvp8epiZ/y5+8DTf7LHww1XK8pzpuLnI3PSXpJ9Ldl3yfdrod82X\nptc8/zghyfMWvJbLTds4IcnT59bz2bl1r/o9Nne83GDBc5dIbyJ+SE7+rnpikostsx88PDbz0ByO\n06JzTv/+34LnPpn+RbvyWHQne12ttYu11i4/O62qLl9V70y/m/ns9P4zt0k/ST26ndzfZn5dr0my\nZ5L/Sr+j/cT0u6Pfqd73Z8OqN9PaK6fsTPuh9Lvfd120yLTNI9MD3r7pJ9hbtq1sktdaO6G19p7W\n2q2TXCz9RHb59FB0WFU9c4l1nNROvqp2mpqLHJV+wlt3GOTJB9opm0au1Ers207Zf+QL6fvjEjPb\n/93M9neZ7oJ+Nj3gXW2+uNlyoIHPpNeKramqblVVn08PC/dI8vYk12ytXbW19uKtfS8Waa3N1gZt\nMVLcnPOnv74fLLnug1tr/5hec7fXtNxzkxxeVW+vqTniGr6QHkivN/29R/rF+bvTB+04w1Trca30\nWqOt8dp2cj+9zKxvzWavc8fGmaZj43+T/C7LH5tvazO1ma21T6bfQd9zwbyvWmJ9N00fwOBNM+s8\nMas3bdr0MbuG2yX5TGvt42vMc/P0m00rzdJWPusvS3Le9Pd1C9VHdbt+kre2mT6OrbVD0/uO3Hg6\nLk56KskWI2eeCs6XHsYvmOR6rbXvbMW6bp8e/n87NYvbdTr2Pppe03WdtRbeyu+abyS5UXqN0crj\nbzM1z5w3nfvemeShVXXujbzIOSvn9HMs2MYhrbUnt9YukX78fy79RsYPqzdtveZWbBcWEoI4LVrp\niH/2Bc/dL/0L+67Z9sPi/k36if+36X2RbtNae19boolRa+1DrbWbpY/AdP30i5VLJnn/Jts533Ja\n15er6tJVden0u6T/ld70a4si5ORmEHdIb0pzvmzjTrqttZ+11p6ffoJ+c5ILJfmnqlrzu2QKPv9U\nVd9Pv7j8Rfqdy0ul31ldxmFzf680Mzp8lekn7ffqfcDeUlVHpZ+Ij0xvKpIF2/9l27JJyNGz61vD\n3ZP8VfqF/g1baw9pra3a5GiD1jren5p+vN1znXW8Mv0i69lVdd+lN9yD8H8m+bsk902vwdsr/TOz\n1nK/TW9Cusc0aY/0cHJg+l34a0yPXbJ1Iahly+Pj6PQwvOb7Vr3P2bOr6oj0z/6R6TVfZ87yx+b3\nFkz7TmaC+OSY1toyoy/uluRHC757vpfFAxxszTG7hSlM75Z+gb1eOb+9YPo308u52yrLXSS9Of6i\n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\nAIChCEEAAMBQhCAAAGAoQhAAADAUIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCE\nIAAAYChCEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGCAACAoQhBAADAUIQgAABgKEIQAAAw\nFCEIAAAYihAEAAAMRQgCAACGIgQBAABDEYIAAIChCEEAAMBQhCAAAGAoQhAAADAUIQgAABiKEAQA\nAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIE\nAQAAQxGCAACAoQhBAADAUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQBAABDEYIAAICh\nCEEAAMBQhCAAAGAoQhAAADAUIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAA\nYChCEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGCAACAoQhBAADAUIQgAABgKEIQAAAwFCEI\nAAAYihAEAAAMRQgCAACGIgQBAABDEYIAAIChCEEAAMBQhCAAAGAoQhAAADAUIQgAABiKEAQAAAxF\nCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAA\nQxGCAACAoQhBAADAUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQBAABDEYIAAIChCEEA\nAMBQhCAAAGAoQhAAADAUIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAAYChC\nEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGCAACAoQhBAADAUIQgAABgKEIQAAAwFCEIAAAY\nihAEAAAMRQgCAACGIgQBAABDEYIAAIChCEEAAMBQhCAAAGAoQhAAADAUIQgAABiKEAQAAAxFCAIA\nAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGC\nAACAoQhBAADAUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQBAABDEYIAAIChCEEAAMBQ\nhCAAAGAoQhAAADAUIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAAYChCEAAA\nMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGCAACAoQhBAADAUIQgAABgKEIQAAAwFCEIAAAYihAE\nAAAMRQgCAACGIgQBAABDEYIAAIChCEEAAMBQhCAAAGAoQhAAADAUIQgAABiKEAQAAAxFCAIAAIYi\nBAEAAEMRggAAgKEIQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGCAACA\noQhBAADAUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQBAABDEYIAAIChCEEAAMBQhCAA\nAGAoQhAAADAUIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAAYChCEAAAMBQh\nCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGCAACAoQhBAADAUIQgAABgKEIQAAAwFCEIAAAYihAEAAAM\nRQgCAACGIgQBAABDEYIAAIChCEEAAMBQhCAAAGAoQhAAADAUIQgAABiKEAQAAAxFCAIAAIYiBAEA\nAEMRggAAgKEIQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGCAACAoQhB\nAADAUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQBAABDEYIAAIChCEEAAMBQhCAAAGAo\nQhAAADAUIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAAYChCEAAAMBQhCAAA\nGIoQBAAADEUIAgAAhiIEAQAAQxGCAACAoQhBAADAUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgC\nAACGIgQBAABDEYIAAIChCEEAAMBQhCAAAGAoQhAAADAUIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMR\nggAAgKEIQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGCAACAoQhBAADA\nUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQBAABDEYIAAIChCEEAAMBQhCAAAGAoQhAA\nADAUIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQ\nBAAADEUIAgAAhiIEAQAAQxGCAACAoQhBAADAUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACG\nIgQBAABDEYIAAIChCEEAAMBQhCAAAGAoQhAAADAUIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMRggAA\ngKEIQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGCAACAoQhBAADAUIQg\nAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQBAABDEYIAAIChCEEAAMBQhCAAAGAoQhAAADAU\nIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAA\nDEUIAgAAhiIEAQAAQxGCAACAoQhBAADAUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQB\nAABDEYIAAIChCEEAAMBQhCAAAGAoQhAAADAUIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEI\nQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGCAACAoQhBAADAUIQgAABg\nKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQBAABDEYIAAIChCEEAAMBQhCAAAGAoQhAAADAUIQgA\nABiKEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAADEUI\nAgAAhiIEAQAAQxGCAACAoQhBAADAUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQBAABD\nEYIAAIChCEEAAMBQhCAAAGAoQhAAADAUIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAA\nwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGCAACAoQhBAADAUIQgAABgKEIQ\nAAAwFCEIAAAYihAEAAAMRQgCAPj/268DAQAAAABB/taDXBYBKxIEAACsSBAAALAiQQAAwIoEAQAA\nKxIEAACsSBAAALAiQQAAwIoEAQAAKxIEAACsSBAAALAiQQAAwIoEAQAAKxIEAACsSBAAALAiQQAA\nwIoEAQAAKxIEAACsSBAAALAiQQAAwIoEAQAAKxIEAACsSBAAALAiQQAAwIoEAQAAKxIEAACsSBAA\nALAiQQAAwIoEAQAAKxIEAACsSBAAALAiQQAAwIoEAQAAKxIEAACsSBAAALAiQQAAwIoEAQAAKxIE\nAACsSBAAALAiQQAAwIoEAQAAKxIEAACsSBAAALAiQQAAwIoEAQAAKxIEAACsSBAAALAiQQAAwIoE\nAQAAKxIEAACsSBAAALAiQQAAwIoEAQAAKxIEAACsSBAAALAiQQAAwIoEAQAAKxIEAACsSBAAALAi\nQQAAwIoEAQAAKxIEAACsSBAAALAiQQAAwIoEAQAAKxIEAACsSBAAALAiQQAAwIoEAQAAKxIEAACs\nSBAAALAiQQAAwIoEAQAAKxIEAACsSBAAALAiQQAAwIoEAQAAKxIEAACsSBAAALAiQQAAwIoEAQAA\nKxIEAACsSBAAALAiQQAAwIoEAQAAKxIEAACsSBAAALAiQQAAwIoEAQAAKxIEAACsSBAAALAiQQAA\nwIoEAQAAKxIEAACsSBAAALAiQQAAwIoEAQAAKxIEAACsSBAAALAiQQAAwIoEAQAAKxIEAACsSBAA\nALAiQQAAwIoEAQAAKxIEAACsSBAAALAiQQAAwIoEAQAAKxIEAACsSBAAALAiQQAAwIoEAQAAKxIE\nAACsSBAAALAiQQAAwIoEAQAAKxIEAACsSBAAALAiQQAAwIoEAQAAKxIEAACsSBAAALAiQQAAwIoE\nAQAAKxIEAACsSBAAALAiQQAAwIoEAQAAKxIEAACsSBAAALAiQQAAwIoEAQAAKxIEAACsSBAAALAi\nQQAAwIoEAQAAKxIEAACsSBAAALAiQQAAwIoEAQAAKxIEAACsSBAAALAiQQAAwIoEAQAAKxIEAACs\nSBAAALAiQQAAwIoEAQAAKxIEAACsSBAAALAiQQAAwIoEAQAAKxIEAACsSBAAALAiQQAAwIoEAQAA\nKxIEAACsSBAAALAiQQAAwIoEAQAAKxIEAACsSBAAALAiQQAAwIoEAQAAKxIEAACsSBAAALAiQQAA\nwIoEAQAAKxIEAACsSBAAALAiQQAAwIoEAQAAKxIEAACsSBAAALAiQQAAwIoEAQAAKxIEAACsSBAA\nALAiQQAAwIoEAQAAKwHQ5eia0E9DiAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xcfae250e80>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "http://farm9.staticflickr.com/8318/8002651749_32511b0831_z.jpg\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0EAAALSCAYAAAAbeNqAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3Xe4bFddN/Dvj9CDhA4SmrRQBBR8EQRB6U1ESqRGIEiX\npghSVQReX4rSkY6U0AQSaihBOknovUMMEEgwhEASIGW9f6x9yNy5c86Zc+659yasz+d55rn37Nll\nzdqzZ/Z3r7XXVGstAAAAozjL7i4AAADAriQEAQAAQxGCAACAoQhBAADAUIQgAABgKEIQAAAwFCEI\nAAAYihAEAAAMRQgCAACGIgQBcKZVVfesqtOq6lK7uywAnHkIQQCcmbXpAQBLE4IAAIChCEEAAMBQ\nhCAAdpmqusN0D88fL3juftNzV6mqq1XVK6rqW1V1UlUdVVUvraoL7I5yA/CbRQgCYFd6R5KfJ9l3\nwXP7JvlCa+3LSW6a5DJJXpbkwUkOSHLnaXkA2CFn3d0FAGAcrbVfVNXbktyxqh7SWmtJUlUXTXLD\nJE+YZn1ea+2Zs8tW1aFJXltV12utfXSXFhyA3yhaggDY1V6f5CJJ/mRm2p2SVJI3JElr7ZcrT1TV\nOarqgkkOnea55i4rKQC/kYQgAHa1dyc5PslfzkzbN8lnW2vfTJKqOn9VPauqfpjkpCTHJPl2+nDY\ne+3i8gLwG0YIAmCXaq39Kslbk/xFVZ2lqvZOcr0kr5uZ7Y1J9k/y/CR/kX6P0M3TW4J8dwGwQ9wT\nBMDu8Pok+yW5cZKrTtPekCRVdb4kN0ry+Nbak1cWqKrL7+pCAvCbSQgCYHd4X5KfpI/4duUkh7XW\njpieO3X6d77F5+Hp3eEAYIcIQQDscq21U6rqzekh6NxJ/nbmuZ9V1YeS/H1VnT3J95PcLH3I7NoN\nxQXgN4x+1QDsLq9Psmd6684b5567S5KDkzwwyVOS/DLJLad5tQYBsENq+okGAACAIWgJAgAAhiIE\nAQAAQxGCAACAoQhBAADAUIQgAABgKEIQAAAwFCEI4EyoqvapqtOq6oG7sQyvq6qv7K7t01XVeavq\nFVX1w+k98ZTdXSaAMzohCLZIVV2tqt5UVd+tqpOq6ntV9Z6qevD0/BOnE5T1HocsWPebp+eetMq2\nbzy3jlOmE6I3VNUVZ+a7+ZJlOHHn1RQbUVV/VlWP3UXb+uPpfXruJRdpSU7bmWVay3pBsKoeNz1/\nkZlpn5imvX6Z9c0cM7eam/cc0/F9clXdZStf1yb8Y5I7J3lWkrsned1uLc2cKSwfs8bzp1TV82f+\nXqnzU6vqKsusb9qvhy2Y95bT5/HHq+q3dvS1bJXpNaz2+XvszHybrYvTZpY7rqq+MgXlP9kFLw/O\nFM66uwsAvwmq6o+SHJLkiCQvSvLDJJdMcp0kD0ny3CT/leQbM4udJ8kLk7x5eqz40dy690pyyyTf\nSXLXJI9foyjPTPLpJGdPco0k90tyw6q6amvtx0k+l36SNOsZU3n/X5Kapp263mtml7ltkrslefIu\n2NYNkjwhyQuSLBOE757T3zNnRG16LJp2h6q6Smvty0uu59eq6uxJDkzyp0n2a60dsBWF3QF/muRD\nrbWn7uZyrGbRfph/fjVPTPKXS6xvu3VU1c3TP1s/m+SmrbWfr1/UXaYl+VmS+2f7Y+hXqyyzkbr4\ndvp3RaV/11whye2T7FdVr0pyz9baWvUOv/GEINiEqrpkkuNbaz+dJj02yXFJ/qC19rO5eS+UJK21\nLyb54sz0C6aHoM+31l67xub2nf7dP8khVXXd1trHV5n3Q621g2a28c0kz04/Wf331toPk2yzrar6\npyRHLTqRW7mC3lo7eo3y/caoqrMmSWvtlN1dlhm7MmRsaFuttV0alqvqnEn2bq19awdX9e0kF04P\nfHdeZtMzZTh7krcmuXH6ieQBM8/truPlItn2AstutYFwuZ7PZmNhdbYMN03ylvQLPzefDUDTRaEv\nbUH5NlKeq7XWvjA3+ZcbCNAbrYtj59ddVY9K/865T/ox8E8zz+3yOoHdTXc4WFJVna2q7lhV707/\nArn0zNOXTfKl+QCUJFMLzI64a5J3tdb+O8nX01sFlvXh9BO4y21y27+f5Miq+q+qulVVbfozo6rO\nWVX/UlWfqqqfVtXPquoDVXW9JZdf6d53q6r63NTF5QtVdZsF816gqp5bVUdW1S+r6utV9Yi5eVa6\nPj2oqv6uqr6d5KT0fZmqekRVfbmqTqiqY6vq0Kq6/dw6/k9Vvbeqjp8e76mqa83Nc/9pO39QVc+u\nqmOm1/6GqjrfOq/5gCT3TnKOWqOrYlU9sKq+NdXJx6rqGnPP/35V/WdVfXua5wdV9R9TK+PKPE9N\n8s/Tnyv3lpxaM13JFmx3u3uCqmq/qvr09BqPm/bVA9Z6neupqmtW7y51VPrFgB31kyTPSXLHqrry\nBspxtvQW3ZsmuXdr7TVzs2zZ8TJt76JTF6ajp/32mZrpeldTV6kkF5teyzL77K+r6pCq+tHMMXTv\nHSnntN7zVNV9qurjSb4whcUd0ZL8W5IT0sPqRspy4/Sg+sX0AHT83CwvmY6Xx1bV3jtYzrXKccGq\nelhVfT7JwTuwqk3XxTYrae20JA9M8q0kD6+qc808vUvqBM5IhCBYR1VdtaqemeT7SV6f5FJJ/iHb\nXnk9Ism1quqqW7ztS6R3UVq5ove6JPtW1R5LruJ3pn9/sskiHJbkKeknd29LckRVPamqLruJdV0w\nyX5J3p/k79JPuC+e5L1VdaUllm9JfjfJq9K7Iv1DesB7c1Vdf2WmqjpPko8kuWOSlyZ5cJJDkzy9\nFt8w/oD0E+vnJ3lkkp9W1d8keXqSTyV5aHo3lC8m+cOZ7fx+kv9OcsX0rmpPnv7/obkQstLl5D/S\nu6Q8Ib3L5O3TT2zW8pxpGyenh9+7J7nX3Dz7J3lQkudN675ikjdV1Wyrzi3T6/olU328IX1fHDgz\nzwFJ3jT9/4HTtu6R3sK5mm264lTVnyV5RXpY+bv0ffThJNdd53Vup6rOV1UPrqpPJ/lkeovNAUle\nudF1reIZ6SeVT1xi3pbexfRN6XW5f2vtVQvm27Ljpar2TH8f75vkZenvzZ8neU1V/fU022fT99Px\n07aX2WcPTPLNJP+Svo9+mH4CPP++Wracf1RVL03f5/8xTb5/a221Ll0bcWw2GFar3/NyUJIvp3eB\n++mC2R6f5Avpx8sRVfWOqrp9TS3BO6K6m1fVG9K/M56e3sX5IavMfsEFj/MsmHfDdbHI1Mr9uiS/\nld5de8VOqxM4w2qteXh4zD3S+1DfJ8nH02/8Pi79C/4PV5n/Jun9uE9O8tEk/zf9avFZ19jGBad1\nP2GNeR6V3m/8XNPfV5qWudXcfDeept9tWu/Fktwi/WTn5CS/t8Y2vpHknUvUyY2SvDr9xPHU9DBz\n1yTnWLJOz5Jkj7lp50/y4yTPWWL5o6bt3nxm2vmSHJ3kIzPT/iU99F1ybvlnJvlFkgtPf+8z1dkx\nSc47N++7khy2TnnelX5SevGZaZeY6uddM9PuN23nwLnlnzeVZ836S/LiJCcumL5S/u8n2XNm+p2m\nerrRzLTttpHkr6b5rjUz7bHTtIssuU8PSPLlmb9fkOSHO3js3Si9y+aJSU5J8t4kd1nlNazUwQNX\n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\nF1i6LuZNZblz+mAan5h7bkvqBM4shCBYRWvts621B6cHmP3SvwyeneQHVfX66b6KJL8ekWiRlf7T\nG/rimNZ3ySQvba29ef6R5I1JblJVF54t8oLX8I30VoB7z5Z3A+W4TFW9LaffA/Cd9DCz93QPwNc2\nsLpTM9fqUVU3yMbuSfmdqrrlzPLnT/+C/ng7fRSoNyT5k2nd86/n/DOtRauqqgvM/t1aOzl9H+6R\n5Gytj3z1/vSrsRefWW7v9JPp97etGR0r6fesnKOqzrHJ5VdaiuY/7x+e7d8zK/cWrTl092oW1FvL\n6b+NtVT5pxPtZ7bWrpp+/9Y7ktw3fdjlw2rmfqOZ/XD7qtrmQsPUdfQW6QNYrGflpPLxWRwEfz2t\ntfaZ9JPdC6YHoV9f8d/i4+WdSS5dVX8+s/6zpo/ud1z6ACwbtd17YfpcmP8B5XW11v57uufp4ukj\nn50/feS+H1bVi+aOs3emH/sPXrCqB6d32X33/CbmtjcbVpdpAbl3+ihxj6mqh88+UVUPSb9YcnCS\nP05vDbxCa+0mrbXXbebYbf2ex7e31m6X/tn9hKmc/5V+b+jCMLbs6ue2tdG6SJJUH1X0hemjhj5j\ntpv3zqgTOKMz9CGso/UbiV+d5NXTidX+6d259k6/ryVJnlP9Hp23pJ8snz3J9dK7UX07/Wr4Rtwt\n/ers/InBioPSf+juL3N6V5bVTu6flj4c80Oz8SuH+yS56rStl7fWdqR14+1Jnl9Vb0r/or18+snt\nl7P8BZmvpu+H56fX/X3TT9j/YWaep6SHz/dWH+Tis+k3AF89vR4ukn5fzFo+WP0m/U+k3zNxtfRR\n3t48czLwmPQhjD82dfeq9F9/T3pLxjKW6Qr3qenf51XVIUl+1Vp701oLzGqt/biqDkvyuOrDLv8o\n/Z6JSyzY/qemaf9a/Qb4k5O8ZQMnQK+ewtp/p7eEXTbTEOWtte8sW+aZsn88/Z64h6R3TbxP+o3k\nh8zM9uj0/fCZqnpx+r1Xl0vy11m+5eDYqevUo7I4BNXc/B+qqn3Tu++9p6puOIXwrTxenpf+el9b\nVc9N74535/SLBvdvmxso4t3px8e7quol6cfOfdP31YU2U8jpdT8v/f15zanMd0nf77+a5jmsql6d\n5FFVdZX0/bdHeki9SfrokPP3Py06Np4xrffq6aNKrlWuU6vqL9Nf8zOq6rjW2sunp++Y/l5/QPpI\njjvcAjq37R+ljxD6f6vqhunfGXdJ8ri5Wc9RVau16L9x5rjbTF1cYGbde6a3ot8h/V6yV6SH9Fk7\ntU7gDKmdAYao8/A4sz3ST9rPNvP3zdKHMv5S+og/JyX5WvrvwFxolXVcMP3K7OPnpp89/Tch3rtO\nGb6b3gKS9BPDU5PcdpV5P5T+Rbnngue+keQdqyy31HC+S9ZZpZ8EfDe9xeGw9BOgA9K7ya23/FHp\nrTy3TPL5qY4/n+Q2C+Y9T/pJyDem+X6Y5INJ/iZJTfPsM9XZdsMrp9/L9aH0AHTitC+flGmo8pn5\nrpUe6I6fHu9Ocs25ee43becqc9NvPk2/9jqve4/0k8wfpXezO3Gt8qe3uJya5JEz0y6RHtCPTQ+P\nr5qmbTPfNO8/prdknJJ1hsue33fpof/gaV+dlH4B4NlJLriF76NzLZh2lfTf8Pph+qAbP0hvlbjs\ngnk/nh7KFh2PP51e9/wQ2admblj66bm7TfN/OMk5t/J4mdZ/0SQvn96HJ6WPpHjnBfP9IMnrl1zn\nn0/HzYnT8fGQmffoUkOjL7GNcy6YVkkeln5R4oT0EcoOT3LfBfOuVedPnZ770ZL79bem7fwqyV+s\n9h7a2Y/5bU7HzqlrPC6yg3Uxu66fpg+o8fIkN1imfB4eIzxWTgYAztCq6qgkH26t7bu7ywIAnLm5\nJwgAABiKEAQAAAxFCALOLFq2YAhnAAD3BAEAAEPREgQAAAxFCAIAAIYiBAFnaFV11ao6rapuv7vL\nMquqflxVr92N23/wVC8X2F1l2CpV9fTptZx9F2zr+lV1aFWdUFWnVtVld/Y2d5Wq2ruqDqqq/51e\n2713d5k26ox6vO+I6bPi2bu7HMC2hCB2m6q6TFU9t6q+Np2QnFBVX5qmXW2a59LTF+J6j1Or6lI7\nqZw3qKp3V9X3q+rEqvpuVR04/Rp5qupVS5bxRQvW/fnpub9aZdv3m1vHyVV1ZFW9pKouOjPfg5Ys\nw+d3Rh3tArvl5sWqukZVPbGqLrbg6S0t0/Ref2JVXWnJRc50A0VMr+8WC57aJa+lqs6Z5I3pPyj7\nN0nukf4Dq7tMVe011cN1dsLqX5Dkekn+Kf21fWAnbCNV9VdV9YCdse7JLn1fb8U+qaobTus454Kn\nT8uZ6Fhd5/vk1Kq6yjTfnjPT/3rBelYu1FxxZtrT5tb386r6TlW9paruVlVn3ZWvlbF5s7FbVNVt\nkrwuyclJXpPkc+lfFFdKcvsk96+q30lyTJK7zy3+d0n2Tv/18ZqZfsxOKOedk7w2yaeS/FuSnyT5\nnSQ3THLv9F+pf16Sd80sdrkk/5h+QvKxmenfnFv37yb53STfSf/l+VeuUoyW5NFJvp/kXEn+KMk9\nk1y3qq7eWjs1ycHZvp5eneQ9Sf5zZtpxa7/iM57W2peq6lyttV/ths3/XpInJnlbdv7J8mWmbX0h\nyVeXmP/5SV68m+pls56Y5LlJ3r2btn/VJBdN8pDW2ht3UxnOl14PP0vyiS1e958keVVrbWe3Otwz\nyQXTP+O21G463rdin/xJkickeU6SX8w9t3eSUzdbuN2kJXlkFn/uHblg3sdU1cum76PZ6YvCX0ty\nrySnJDlnkkskuVWSVyV5aFXdurW25d/nME8IYpebup8ckH7yf+PW2tFzzz8qyQOTnNZaOzE9hMw+\nf5ck52utHbATynalJF9vrZ02TfrHJJ9Ncp25D/dU1YWSpLX2icx8cVbVH6Zfif1Ya22t7lL3SP8y\n+Yckr62qi7XWVjvRfkdr7cvT/19aVccneUiSWyZ5e2vtm9k+ZL16ei3blWFqNftJa+1na5TvDGM3\nnuhXdt0V3A1tq/WhPc9MAeiM4KLpdfzT9WacTsRP2gllqPVn2cRKq86d5DxZ4rXtSpupx91wvG/F\nPqm5f3+ttXbyFqx/p6mqyyQ5prV2wtxTb2+tfX2JVXw2/YLRvZK8ZMnNvm5uP/9zVe2f5MXp3/k3\nnSnf5ZMc2Vr75ZLrhqXoDsfu8Kgk505yr/kAlCSttdNaa89trX1/MyuvqstOrUjLzr9nVd27qj6W\n5EvpV6ZWXC7J4fMBaCrnjzdTvhl3Tm9JeluSk6a/l/Xh9C/by21y23+W5KiqenlVXX+T60iSVNVF\nqurfq+qLU9eGn1S/L+HKSy5/m6r6eFUdV1U/q6qvVNXjZp5feI9AVd2jqr5aVSdV1Weq6hZV9aaq\n+sKCZe9bVQ+Zul2cVFUfranL5RrlelCSl01/fnKmK8g15+a7UVV9clrv16vqjhutn6q6dZJDpj/f\nNLOtVe+LqAX3BFXV9arq/dXvCTmhqr5ZVc9d63XOLPuIqe5/Ub3L5TOras+5eT5ZVR+r3k3wQ9W7\nh/5PVT14nXXvWVUrXYJWyn1abX+fxIWq6rVV9dOqOraqXlBVZ1uwvvtM+/zEqjqmql5ZM91DVynD\nG5O8ffrz3dP2D5qee1NVHVVVV6qq91bVz5L8x8yy95i2d1JV/aiqXlpVF5lb/8o6Ll1V75z29Q+r\n6kkz81w1ybeneli5D+rUqnrEOmW/YlW9dXrvnFBVH6mqG888/6AkP5/W++hpvcevs87HTcfdsVM9\nfmJ6H66pqg5Pbwn/3ZrrZjsdy6dV1W2rd3v6QZKfVdVZljkOVuqo5o73Zep2nTKvelyst0+q6lrV\nuzx/Zzo2vj+9L887s/6npbcCJckxM+u4wPT8dvcErbdPp3luPa3rVlX1z1X1g2lfvauqLrnMa1+j\nTs5RVXepqvelX0Bb8/hZx8FJDktvDdpjsytprb00PQDdqPrFxBX3S/++ek5VXWMHygnb0BLE7nDr\nJN9srX1yJ63/Q0lOTHLFtWaqqusm2T/Jvkn2TPLJJA+YWp9WHJHkJlV18dbaD7aqgFV1w/QuAAe0\n1k6qqgPTu8T9+5KrWAl5P9lkEQ5Mctlpm39VVV9P8tIk/9la+9EG13XlJDdL8qb0+rp4kgck+UBV\nXaW1duxqC1bVtZK8Jb0l7THp3SOumN7lb1abW27f9O6Dh6V3R7xo+pfnUVnc7eR+Sc6e5NnTv49K\nvzdkrftvDk7yoiR/neRxSb47Tf/2zDxXS+92+B/pgel+6a16h7fWjpjmWaZ+PpPkKemtgs9Kcvi0\n7GFrlG+briZVdYn0bpnfTfKk9K49l01y8zXWsbLs05M8Ij0kPHt6XQ9N8vtJ/nRumxdL8o70+n5t\nkrskeVZVfaa19tFVNvGL9O6a8100vzZbjCQHTdP+Psl1ktw3yfeSPHmmrE9N76bz6vTuWL89lfX/\nVNW11mh1+Pf01ue/TfL/knx+WvfK6zrXVLZ3pl+cOH7a3oOnOvnItN1LprfCXnduey39Asp7k7wv\nyVvTP+seU1Vfba29Jr3l92FTWV47bSvp3W0Xmk52Pz6t/9/S9+v+6UHuVq2196a/V/dPP4bfNpV/\nvdaHh6Z3RX7lVO57JDmwqm7UWvvQGss9birHnunddCund7NdeT8+ZSrnU5P8VmvttCnsLPs5Md8i\nukzdLrTEcbHePrl1+nv+RUmOTnKN9PflFZOshJbXTOu8XfpnwEqLykpL+/zn1zL7dNaT0i+UPSXJ\nhdOPj5dlprVkWVOIuE+Su6Z3A/xSehfz7y2Y/XxVdcG5aae11hZ97/xjej1vpDVokVdNZbtZkkOn\naS9Lct70z5AHVdWn09/rr22tnaFaPjmTaa15eOyyR5LfSr/3578WPLdXej/zlcc5V1nH25J8e41t\nHJnka6smQgiaAAAc1UlEQVQ8d6H0k70vTuX4YZKnJbnKKvP/dfpJ9UnpX77/mH6CXmts/w+ndd91\njXlePFvGJLeZtnPFufnuN03/o6lO9k7yl0l+nH6SdqE1tnFakmevsz/2SP/iPii9a9Wv0kPJbZKc\nZcl9evYF066YfhL20HWWfew038J9Pc1z1em13H5m2reSfCXJOWam3XKa7/MLlj0yyblmpt9lqtcb\nrFO+v5rmu+aC545JD22/NzPtktPrecJG6yf96vo2r3Odsj1oKtsFpr/vNv19hWWWnyvzKUneODf9\n76f13WFm2uHTtNvOTDt3kmOTvGyJbS18T07H4GlJnjk3/eDMHOvpofXUJA+am+9a0/QHr7P9W0/z\n3Wxu+hun6Y+em36u9BP8jyc568z0fafy/u2CdTxkbh1fSXLIzN+XnpZ9xJL758XT/rn6zLS9kvwg\nyRdmpu05rfcpS673HHN/nz3JN5K8ZYllPzB7nM3V72npAfOs8+tf8jhYdLwvVberlHXd42KtfTJf\nT9O0/ad1XmNm2hNnj8e5+Y+Zfd9vYJ+u1Odhmfk8Tr9YcmqSSy+5r8+bHjgPn9b3v+n35l1rlfkf\nNM236HH0au+59ItZ306yx8x6tvleSz/WT130fpie33ta5ysWPHfO9CB0yFR/J6aHphsuUw8eHvMP\n3eHY1Va6EPx8wXP/nf5lsfJ44GY20Fq7ZGttn9lpVbVPVb0pfXCBp6Y3/98uyd6ttUe20++3mV/X\ni9Nv2PxgkusneXz6FeGvzzXXL636MMB3SL8vasXB6Sdbd1u0yLTNY9JP5g9IP+m8TdvBLnmttVNb\na29trd02/WT4sUn2SQ9FR1bVk9dcQbbtv19Ve0xdQI5Nv/J6zdWWmxyX3i33z5ctc1VdIb0l7OVt\npo94a+1d6Vf6F3lV27aFYKU74Y4Oj3x4a+2zM2U4Mv0q92Vnpu1I/WzEcemv6c+raiOf7Teflvu3\nuenPTQ/F812kjm6tHbTyR+stp5/Ojtdly0wXtMmHk1xy5vXcKf3k561VdcGVR3qdH5ltW60244Vz\nf18v/TPrOa21U35d0NbeMG1vvm5a+gnurI9mx+rmlkk+0Fr79ciOrV/9fmmSq9QmR8WcPXaq6nzp\n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\n6cP7Xi39Hofvp/8K+1aOEAcA/IYxMAJwZvSj9PtA7pf++0/Hp4eifxCAAID1aAkCAACG4p4gAABg\nKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQBAABDEYIAAIChCEEAAMBQhCAAAGAoQhAAADAUIQgA\nABiKEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAADEUI\nAgAAhiIEAQAAQxGCAACAoQhBAADAUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQBAABD\nEYIAAIChCEEAAMBQhCAAAGAoQhAAADAUIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAA\nwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGCAACAoQhBAADAUIQgAABgKEIQ\nAAAwFCEIAAAYihAEAAAMRQgCAACGIgQBAABDEYIAAIChCEEAAMBQhCAAAGAoQhAAADAUIQgAABiK\nEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAADEUIAgAA\nhiIEAQAAQxGCAACAoQhBAADAUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQBAABDEYIA\nAIChCEEAAMBQhCAAAGAoQhAAADAUIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCE\nIAAAYChCEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGCAACAoQhBAADAUIQgAABgKEIQAAAw\nFCEIAAAYihAEAAAMRQgCAACGIgQBAABDEYIAAIChCEEAAMBQhCAAAGAoQhAAADAUIQgAABiKEAQA\nAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIE\nAQAAQxGCAACAoQhBAADAUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQBAABDEYIAAICh\nCEEAAMBQhCAAAGAoQhAAADAUIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAA\nYChCEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGCAACAoQhBAADAUIQgAABgKEIQAAAwFCEI\nAAAYihAEAAAMRQgCAACGIgQBAABDEYIAAIChCEEAAMBQhCAAAGAoQhAAADAUIQgAABiKEAQAAAxF\nCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAA\nQxGCAACAoQhBAADAUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQBAABDEYIAAIChCEEA\nAMBQhCAAAGAoQhAAADAUIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAAYChC\nEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGCAACAoQhBAADAUIQgAABgKEIQAAAwFCEIAAAY\nihAEAAAMRQgCAACGIgQBAABDEYIAAIChCEEAAMBQhCAAAGAoQhAAADAUIQgAABiKEAQAAAxFCAIA\nAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGC\nAACAoQhBAADAUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQBAABDEYIAAIChCEEAAMBQ\nhCAAAGAoQhAAADAUIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAAYChCEAAA\nMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGCAACAoQhBAADAUIQgAABgKEIQAAAwFCEIAAAYihAE\nAAAMRQgCAACGIgQBAABDEYIAAIChCEEAAMBQhCAAAGAoQhAAADAUIQgAABiKEAQAAAxFCAIAAIYi\nBAEAAEMRggAAgKEIQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGCAACA\noQhBAADAUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQBAABDEYIAAIChCEEAAMBQhCAA\nAGAoQhAAADAUIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAAYChCEAAAMBQh\nCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGCAACAoQhBAADAUIQgAABgKEIQAAAwFCEIAAAYihAEAAAM\nRQgCAACGIgQBAABDEYIAAIChCEEAAMBQhCAAAGAoQhAAADAUIQgAABiKEAQAAAxFCAIAAIYiBAEA\nAEMRggAAgKEIQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGCAACAoQhB\nAADAUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQBAABDEYIAAIChCEEAAMBQhCAAAGAo\nQhAAADAUIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAAYChCEAAAMBQhCAAA\nGIoQBAAADEUIAgAAhiIEAQAAQxGCAACAoQhBAADAUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgC\nAACGIgQBAABDEYIAAIChCEEAAMBQhCAAAGAoQhAAADAUIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMR\nggAAgKEIQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGCAACAoQhBAADA\nUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQBAABDEYIAAIChCEEAAMBQhCAAAGAoQhAA\nADAUIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQ\nBAAADEUIAgAAhiIEAQAAQxGCAACAoQhBAADAUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACG\nIgQBAABDEYIAAIChCEEAAMBQhCAAAGAoQhAAADAUIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMRggAA\ngKEIQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGCAACAoQhBAADAUIQg\nAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQBAABDEYIAAIChCEEAAMBQhCAAAGAoQhAAADAU\nIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAA\nDEUIAgAAhiIEAQAAQxGCAACAoQhBAADAUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQB\nAABDEYIAAIChCEEAAMBQhCAAAGAoQhAAADAUIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEI\nQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGCAACAoQhBAADAUIQgAABg\nKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQBAABDEYIAAIChCEEAAMBQhCAAAGAoQhAAADAUIQgA\nABiKEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAADEUI\nAgAAhiIEAQAAQxGCAACAoQhBAADAUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQBAABD\nEYIAAIChCEEAAMBQhCAAAGAoQhAAADAUIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAA\nwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGCAACAoQhBAADAUIQgAABgKEIQ\nAAAwFCEIAAD+f/t1IAAAAAAgyN96kMsiViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBF\nggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABY\nkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAA\nViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAA\ngBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAA\nAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQI\nAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJ\nAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBF\nggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABY\nkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAA\nViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAA\ngBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAA\nAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAViQI\nAABYkSAAAGBFggAAgBUJAgAAViQIAABYkSAAAGBFggAAgBUJAgAAVgLh2S/rSpvQgQAAAABJRU5E\nrkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xcfae530550>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "http://farm3.staticflickr.com/2605/3881233964_1808ff0a40_z.jpg\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0EAAALSCAYAAAAbeNqAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3Xe4ZVV9P/73x94baow19m5sP3uLLSpqVBQLBmvsJbFh\nYu8a/WqiBo0JVuzYULGj0dg1ViyICiqiYgVBRIb1+2Pt65w5c26dCwOs1+t5zjNzd117n33P3e+9\nyqnWWgAAAEZxup1dAAAAgJOTEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAAYChCEAAA\nMBQhCAAAGIoQBMCpVlXdt6pOrKqL7+yyAHDqIQQBcGrWphcArJkQBAAADEUIAgAAhiIEAXCyqard\npj48N14w78HTvCtV1VWr6rVV9f2q+kNVHVFV+1TV+XZGuQE4bRGCADg5vT/J75PsvmDe7km+0Vr7\nVpJbJfmrJK9O8ogkb05yj2l9ANghZ9jZBQBgHK2146rqvUnuWlWPaq21JKmqv0hy0yRPnRb9j9ba\ni2fXrarPJ3lTVd2wtfbpk7XgAJymqAkC4OT21iQXTHKzmWl3S1JJ3pYkrbU/Ls2oqjNX1S5JPj8t\nc82TraQAnCYJQQCc3D6Y5Kgkd5+ZtnuSr7bWDkmSqjpvVf17Vf0syR+SHJnkB+nDYZ/7ZC4vAKcx\nQhAAJ6vW2vFJ3p3kzlV1uqq6SJIbJnnLzGJvT/KAJHsnuXN6H6G/Ta8J8rcLgB2iTxAAO8Nbk+yZ\n5BZJrjxNe1uSVNV5ktw8yVNaa89ZWqGqLnNyFxKA0yYhCICd4aNJfpM+4tsVk3yhtXbYNG/L9O98\njc8/pTeHA4AdIgQBcLJrrZ1QVe9MD0FnS/LYmXlHV9Unkzyhqs6U5PAkt04fMrt2QnEBOI3RrhqA\nneWtSc6eXrvz9rl590zyoSQPS/LcJH9McttpWbVBAOyQmr6iAQAAYAhqggAAgKEIQQAAwFCEIAAA\nYChCEAAAMBQhCAAAGIoQBAAADEUIAhhAVZ25qk6sqifs4HYeMm3ngptVtpNaVf2sqvZex7JvO6nL\nBMDOJQTBQKrqqlW1X1UdWlV/qKqfVNWHq+oR0/ynTTe4q70OXLDtd07znrXMvm8xt40Tlm44q+py\nM8v97RrLcOxJd6Z2vqq6Q1U9aZM3u80XjVbVjaf3/GwL9v+Uqtp1tW2cSpyYbY/7qtNxX3jBsqe2\nY0tVfa6qvrDMvIvMh9+qevA07eiqOv9atrdcOKyqB1bVlqp6d1WdYTOOZzNMx7DcZ8f/zSy30XMx\n+zn266r6WlW9oqqueXIcH7DjTjEfWMBJq6pukOTAJIcleVWSnyW5WJLrJXlUkpcneUeS782sdo4k\nr0zyzum15Odz2z53ktsm+WGSeyV5ygpFeXGS/0typiR/neTBSW5aVVdurf0yydeS3Htunf83lfdf\nk9Q0bctqx3wqd8ckeyR5zmZsrLX2x6o6a5I/zUy+SZKnJnlFkvlQ+dQk/5Xk/XPTX5XkNa214zej\nXCeTS2Tb6+VqSZ6W5ANJfrpTSrS5Nhrczpbk8Un2WsP2tptWVfdL8p9J3pvkrq21EzZYjpNCS/KD\n9M+impv36wXLr/dcfCHJS6efz5XkyknumuRBVfX81tpmP8AANpkQBKdRVXWxJEe11n43TXpSkt8m\nuXZr7ei5Zc+fJK21byb55sz0XdJD0Ndba29aYXe7T/8+IMmBVXX91tpnl1n2k621/Wf2cUj6zcS9\nk/xba+1nSbbZV1U9I8kRrbU3LzjOC05l/8UK5Ts1mr9x22ELgsu699Faa0lOTQEorbU/zU2qnApr\nfJZU1VVba9/YhE19NclDq+pfW2u/WmcZ7pOtIXmbAFRVV5k+S04200OUg+Ym/3rRZ8Yy1nsufjT/\nmTjVtr09yROr6uDW2utm5p3s5wRYmeZwcBpSVWesqrtW1QfTn4JeYmb2pZIcNB+AkmSqgdkR90ry\ngdbaJ5IcnF6DsVafSr8pvfQG932NJD+uqndU1e2qasOfa1V1lqp6dlV9uap+NzWR+XhV3XAd27hD\nVX1yWve3U3Oau87M/5vqTRJ/VFXHVW+a+IKqOtPMMm9Ocv8kS/14Vm3+V1XXr6qPVtUvq+qYqvp+\nVb1iZv42fYKq6nlJnjnNXmres6Wq/qKqTkz/+/CQmf3vPa23XZ+g2tqs8WZV9cXqTS2/V1V3X1DO\na1XV/1bVsVV1WFU9oaoeOr/NBevdbVrmMjPT7jVN23du2R9W1WvmyrdU/gcnef00a6nJ1Jaqus7c\nNlY9lmXK+c9V9Zmq+tV0jJ+vqjuuZd1VtrtLVf1jVX09yYd2dHvpIfDZ2VoDsp6y3DvJPuk1abst\nqAH6SFV9vaoePT1IOUlU1UWrN9v8QXog26gNn4ttNtLaH9I/C49O8uS52SfLOQHWTgiC04CqunJV\nvTjJ4UnemuTiSf452zZtOyzJtarqypu874umN6taeuL6liS7V9Xp17iJS07//maDRfhCkuemh6H3\nJjmsqp5VVZfawLZ2SbJnko8leVx6SLhw+g3MFVZbuaoekuQ9Sc6eflP1z0m+keTWM4vdPb0W/uVJ\nHjnt67HZ9ibuZUk+kd50bY/0WrL7rbDfC6ffkF5o2u+j0t+P661Q3Lck2W/6/8Omffx9kt9N/29T\n2e49vV49LbuoT1BLcqX0Grz3T8fz+yT7zr4PVXWJaZuXTvKs9BrAByR50IJtzvvU9O9NZqbdOL2Z\n241n9nGR9PD/P3PlW/Kx9OZ/SW/yt3Tch8wss+qxrODRSb6YXvP6z+l/Z99ZVTdfw7rbqO5vq/fF\nOTzJi9Kboj5qvdtaxnfTr4OHrfXGvKrumeQ16UHsLgtq2TKV7xfpzVgPr6q3VNWtqmqHazer6gxV\ntVtVHZDk0PSw8dX093LeGabwOP/arg9cNnAuFmmtHZX+OXSpqrrkzKyT7JwAG9Ra8/LyOhW+0vvr\nPDDJZ9M7fv82vX3+dZdZ/pbpzZj+lOTTSZ6f5FZJzrDCPnaZtv3UFZbZK/3J51mnn68wrXO7ueVu\nMU3fY9ruhZLcJv3m809Jrr7CPr6X5IA1nJObJ9k3yTHpN8cfS38ye+Y1ntPTJTn93LTzJvllkpet\nsu75pv1+fJVzul1Z0vun/CnJBWam/VeSY9dY7rtPx3vFlfY7nf8nzEx70rTeBRcs/6ckey+Y/uD5\ndZIckeSEJNeamXbh6Xp75sy0V03bvfzcNfbb5cqx4Dp4zczP30y/cd2S5OLTtHtOP19mrnx7z/y8\nx7TMdRbsY03Hstb3N8kZk3wnyXvX8l5O61w8ydPTb/K3JPl+et+Wiy+z/GeTfGGZeRdZ8L4vvYdX\nSnL56Xift9L2pvPyo+n9+0CSM63hOC4xHccPpzIcOl3rC49jlW1dMT1A/Hwq+zeS/NPs78yCc3Li\ngteWJC/ehHPxthXKute0zVuelOfEy8trx15qguBUZmqu9Or0P8SvTO/QvmeSC7XWHtxa+/yi9Vpr\nH01y/fSaiqulN/v4UPpTyTvsQJHuleQ9rTcFSWvtO+mDGyzXJO71SY5M75B+QHqtyR6tta/uQBky\n7fvA1tq9k/xlkoenB8V9kxxRVS+rqnOssv6JrbUtyZ+fwp83yenTB3JYbdSn2yY5S5LnthU6iLfW\n/rj0/6o62/TU+TPpAezqqx3jMn6b3qTw79ZRA7fZvtJa+/LSD621n6Y3yZytPfnbJJ9orX13Zrlf\npddersWnMtUETeftiuk1akdna23QjZP8orV2yMItrM1ajmWhuff3PEnOnf7QYdVRw6o3afxw+g3y\n45J8MsktWmuXbq09q7X2o3Ufyerl/W76+X94VZ1vlcV3Sb9Of9zWMDBGa+2w1trTW2uXTH/g8ukk\nT0jyg6r6YFWtVFOZJKmqXavqM0kOSq8NfUf6g56rttZe0lo7coXVv5v+8OWWM69bJVk4XPo6z8VK\nfj/9e84F+9jhcwJsDiEITn2ukOS+6aOrPSHJrVtr+7bWjlttxdbal1trd02v3bhOejOycyR5+1qa\ne82rqqsluWqSz1bVpZde6U257rhMs5Onpt+M3Ck9oJw7/YnopmmtHdVae2WSm6WPKHfu9CZfi4ZE\n3kb1IX+/meSPSX6V3oTlltM2VrLUp2m+c/b89v+qqvatql+n3ywdma19PFbbx3I+nGT/9JHkflm9\nf9TfV9UZN7i9jVh0g/6b9GstU7Ofi2bbZmdL1hpYPpXkr6bmfzdKclySz6XfSC6FoBtla9O5jVrx\nWFZSVXeuqi9U1R/SRyH7RfrN+1re2zumX2s/S3Kn1tqerfez2wwrNTd8VtbWH+b96c0iH1i9T9na\nd97ax1preyS5S/o1f6v0413NvdObdX43vWblYa21L61xt0e31j4+PRyZfa10va31XKxk6WHLdv0v\nZ+3AOQE2gRAEpz5fTK/l+EaSF6bXcry4qq661g201k6YAtGT08PBmZLcbQNlWarteWl6U6Wl16PT\nbyTuvGCdb0w3Ivu31vZM8sEk+1TVhTaw/4Wq6npV9ar02rLHp9e03D/9af5K6z0wvcnWN5PcJ73m\n4pbpN9U7/HlZ/XtUDkxvtvfsbL3pfeC0yIb20bo7pQeAvdOb3LwuPZyeeUfLvUbLDVm+mX0e/nfa\n3k3Sj/ULU63bp5LceKq5u3J2PARt6Fiq6lbpNRW/SW9mdZv093e/rO293TvJ89IDy4er6ptV9dha\n/Ytpj0ty1mXmnW1mmYWm2tu3pdeArNYf5kFJ3pVkr1rjF+9OtdePr6qD0pvSbUk/zlesvGaS5Bnp\ntX0XSPKlqvps9e/22egDgxWt81wsZ+mzeNmwtYPnBNgEQhCcyrTWjm2tvaK1du0k10r/g33fJF+r\nqi9V1cOnm8G1Wnqq+pcbKM49knwkPUDdde51UNY2Stxe6U3i/mUD+/+z6abiCVX1rfTQc8f0PlJX\naq3duLX2upWaqU12Sx9B7x6ttTe31j7SWjtwKt9qvj/9e5UVlrlWkr9K8sjW2otba++btv+LbH+D\nve4hnFtrn22tPWm6Nh6QPljEbiutssF569Zaa0l+kuQyC2Zfdo3b+F76ubpJes3PUtj5ZHoN6Z1m\nfl5xU2vZ3wbcJX1gidu21l7fWvvw9P6uqYlia+3HrX+/zMXTr99D0m+Mf1JV76mqO9XiLyQ9LMkl\nl5l3hZllVvLM9CD1uFXK2NL7XX0syfOnBwfbmQYwuHNV7Z/kx+mh/+Akd0jv//Lk1tqPVylTWmvf\naa09Kr0Wd4/05r//kf7w543Vv4R5swcXWNO5WKSqzpXk9km+11o7dG7eppwTYHMIQXAq1lr7amvt\nEekBZs/05hcvTfLTqnrr7JPMqrrZMpvZdfr3O+vZ97S9iyXZp7X2zvlX+vdl3LKqLjBb5AXH8L0k\n705y/408eZ2al703/Qb7Oen9KXZLcpHW2l6z/U/WYEvmwkhV3SRr6M+R/jT3uCT/skIztKUahj9/\n9k43cI/O9ufmmPQhsletyVkm9H4t/VhWWv+Y6d/zLDNv0fQd8aEkN5ttejldH7svv8p2PpU+2t41\nsjUEfTG9+eJe6d+N9bVVtnFM+rnZ7OPbkt6088+hp6oum+R269nI1DftfVPt3sXSm5BeMb2W6fCq\nevbcKgek1/jcf3Zi9eHiH5J+vP+TFUw1IG9Pr2Ve8fdw6g90p/SRGV9ZM0PAT/t9bnqfv/3SBxt4\ncvpN/p1ba+9vra27+Wtr7fjpwcQt0kPzi9PD8EeS/LCqHrneba6wrzWfi1lT8983p/cFevbcvE0/\nJ8CO8WWpcBowdcbeN30Y30un1wLcJ31kqKUv/nvZ9Ef6XemB50xJbph+A/qDJK9d5273SB8p6oPL\nzN8/vSnL3dObsyTLNyd6YfpT9Edn8VC3K7l8ehOoZ6SPHHb4Otef9b4ke1fVfuk37JdJb/7zrazy\n0Ki19uuqelz6sX6+qt6aXitw9STVWntwehPGH6W/F5dKvzndPVv7EMxa6pj/H1V1YJLjW2v7LVgu\n6d9Sf5/0MPmD9Jv7B6X3SVnpO2W+nP6evKCq3pH+fr5rusn9cpLbVtWj0kfkOmR2sIANel769fDx\nqnp5enB5UHot2tWzthqaT6WH3BPSa/zSWvtTVX0+yU3Tw+hqvjLt68lTM8w/Jvlwa22jw7QveV96\n89IPTu//haefv5N+na5ba+3n6SM5Pr+qbpr+u33PbPs9NPulh5y9q3+n1efTr6k7p/f9e2zb+qXJ\nK3lW+vV4mWytIV6uXMdU1e3Sa932raqjWmsfnmbfI/19+O/W2o42TVy07x+mv3dPSQ+YD0yvfX7Z\n3KLnq6pFtdFbWmtvWWU3q52Li89s+5zpn0F3S3L+JM9pre07t/xJek6ADWingCHqvLy8Nv+VftN+\nxpmfb50+7PJB6Tfnf0jvbPySJOdfZhu7pD/dfsrc9DOl32B/ZJUyHJrks9P/bzFt647LLPvJ9KGo\nz75g3veSvH+Z9dY0/PUaz1ml31wemh5QvpDep+PN6c3k1rKNO6V31P99et+QTye588z8Kyf5aJKj\n0jvAvyy9pmlLkt1nljt9erOfn6ff8C87XHaSa09lPHR6X3+aXmtw1dnzNO3j8XPrPj29Fu2EzAxT\nnT5k8Cezdbjxvafpi4bI/mmSty4o12fn37f0JoGfSm/WdFh6n63HTds85xrO7zWmZb84N/2Z0/S9\nFqzz0yT/MTftIenh6/jMDJe9nmNZpnz/kN7E6dj00HvP9PC3puHO13iNnXXR70H6g4BvT9fAUdN5\n3m3Bsn8eFnrBvDdN8z6/4BwuOi8Xns7j0Umut1z5TurX/D6n92vLMq9jZ5bbyLk4YmZbJ6T/nn8t\n/ff1Gmt9z7y8vHbuq1o7qZpGA8DqquqVSe7RWtvs5mkAsJA+QQCcbKrqLHM//0V6U6FP7JQCATAk\nNUEAnGym72D6YHpTzAunNx87f5IbtbV//wsA7BADIwBwcjogvd/URTL17UlvCicAAXCyURMEAAAM\nRZ8gAABgKEIQAAAwFCEIYCepqhdV1dE7uxzrNZX7xKo608mwn1Pd+eHkVVX7VdU3dmDdIza7TMAp\nnxDEsKrqr6rq5VX13ao6ZnodNE276rTMJaabvdVeW6rq4idROW9SVR+sqsOr6tiqOrSq3lNVd5/m\nv2GNZXzVgm1/fZp3n2X2/eC5bfypqn5cVf89DW28tNzD11iGr58U5+hUrCU5cWcXYgPa9Dqt7OcU\noaruU1UPPQWU49FVdc+TYLtPq6rbbPZ2s2O/R2u6xqrq3FP5r7fB/axJVe26yt+Z280s+8tp+nNW\n2M6tZ6bNf04fW1U/qaoDquohVXXWk/LY4JTG6HAMqapun+QtSf6U5I3p3/Z9YpIrJLlLkodU1SWT\nHJnk3nOrPy59ZKt/TFIz0488Ccp5j/RvLf9ykpekfzP5JZPcNMn9k7w1/VvKPzCz2qWTPD3JK5J8\nZmb6IXPbvkqSqyT5YZI9krxumWK0JE9McniSsya5QZL7Jrl+VV2ttbYlyYey/XnaN8mHk7x+Ztpv\nVz7i4eyV5F92diE4xbhvkl3Sf3d3pn9M8o0kb97k7T4tycvTh0jfTPfItp/FJ4XzpJf/6CSfO4n3\nlSQvSH8P5n1l5v9LAe4RVfWi1tpv5pZdFO5akscn+VmSM6YPU3+LJHsneUxV3b61dvCOFh5ODYQg\nhlNVl0r/4/7DJLdorf1ibv5eSR6W5MTW2rHpIWR2/j2TnKe1ttk3CKmqKyQ5uLW29FTz6Um+muR6\nU9iYXfb8SdJa+1xm/ihX1XWTPCPJZ1pr25R9zt8n+XGSf07ypqq6UGvtZ8ss+/7W2rem/+9TVUcl\neVSS2yZ5X2vtkGwfsvadjmW7Mky1Zr9prZ3mmzpV1Vlba39YNG96n081NUFVdbbpd4KdbKXrajTz\nn40nkZMkZE016ltaa7+cmdySfLy19uE1bOLr6Q+zHpvkyWvc7fvmgs7zquq2Sd6V5N1VddWlczrS\nZzXj0RyOEe2V5GxJ7jcfgJJ+Y9pae3lr7fCNbLyqLjXVIq11+bNX1f2r6jNJDkpylpnZl07yxUV/\n5Of+aG7EPdJrkt6b5A/Tz2v1qfSbgktvcN93SHJEVb2mqm60wW0kSarqglX1b1X1zar6fVX9pqr2\nr6orrmMbD6iqL1VvEvnLqjqwqm48M/+uVfWBqvppVR1XvQnl4xds50tV9ZmqusH077HpIXO5/W7X\n56Wqbl9Vn62q31bV0VX17apa8eZmuoZOrKrnTtfS96rqD1X1uaq6ztyyl6mqV1XVwVNzmF9U1Rur\n6sJzyz1i2uZ1qmqfqjoyybdXKMNlq+pHVfXFqjrPzPQbV9VHquqo6f35SFVde8H6t6iqr0zl/nZV\n7bnSMS9Y/+9n1v/5VOYLzi2zX1UdUb2Z6wFTeX5WVc9a4z7WdB0ss+55qmrvqjpsWvdnUxmuOM3/\nYnoN71VqrvnodE2cWFV3rKoXVtVPkxxdVaeb5u8ybfsnM+V69IIynK6q9prO73HTcbysqs4xs8yR\nSS6e5PYz5dh/lWN78nTN/nq6pj5XVbvOzD97VZ2YrbUWS9t96QrbXGrOdbuqeuZU1mOn83+xuWX3\nq7mmttU/F946XXe/qqr/rKrrTtu8y4L9LXtNVNWVk/xgKv9Sf7gtVfWYlc7LCsd2uqq6Q1W9O/1B\n1NU2sp3Jt5Psl35ez7vRjbTWPpDkRUkun+SuM7M27bMaTmnUBDGiXZMcchJ+OeMnkxyb5HIrLVRV\n10/ygCS7Jzl7ki8leejck/bDktyyqi7cWvvpZhWwqm6a5KJJ3txa+0NVvSe9Sdy/rXETSyFvvvnF\nWr0nyaWmfd6nqg5Osk+S17fWfr7ObV0xya3TbwQOS2/e8dAkH6+qK7XWfr3SylX1wvSnqAcmeVJ6\nzcz1029IPzUt9sD05o4vTH9vb53kBVV1ltba7A10S28q+Z705oWvTvKTFXa/TX+EqrpW+tPYz6U3\nkzsh/Tq6wYpnYKtdk5w/vcnRiUkekeTDVXXN1toPpmVumOSvk7whyU+TXCa95vMa1Zs3njBTtswc\nw1OTnHnRTqcb+Y8mOTTJbZaeGk83wu9K8r/pT6lPl34uP1FV122tHTQt9/8leX+SH6W/B2dLvyFb\nU4f1qnpEkpdO+3l8koul11Rev6quNVNj0tIfMnxkKu+7p3P2L1X1ndbaG1fZ1Vqvg0Vel97s6KVJ\nvpfkAklukv7+fjv9/Lwk/bPgiekPGZaajy69F89Nb471vCTnbK2dWFXnTPLpJOdOb0Z3RJKbJXlJ\nVe3SWnvqTBnemP5Ftf+dXoNw2fRr5CpJ/mZa5sFJXpl+c/7/pmkrXcNJ8uhp269LP79/n+Q9VXXz\n1tonkxyX3lx2vonsd1fZbpI8K/0hzXPTz9kT0q/JW80ss02zr6o6w7SfK6T/LvwwyW7TcS1qInbW\nrHxN/Di9ieC/pbcMOGBa78trKP9suS6d/pl/nyQXmsr1zAXbqSTnqqpd5rfRWvvVgk0/M/3vyHpq\ngxZ5Q/rnzq3TH5Alm/tZDacsrTUvr2FeSc6ZfnP4jgXzzp3eHn/pdZZltvHeJD9YYR8/TvLdZead\nP8ljknxzKsfP0m+orrTM8v+QZEv6TcBH05vH3SDTFx0vs851p23fa4Vl/mu2jEluP+3ncnPLPXia\nfoPpnFwkyd2T/DLJUUnOv8I+Tkzy0lXej9On35Ttn+T46fWuqTynW+N7eqYF0y6X3t/r0ause9Wp\nnK9dZbkzL5j2hiS/nJv2xel83WONZX9hkqNmfn7SVO6F194K2zn7dBzHz76H6Te5x88e3zLHcvNp\n/b+bmfbwadoBy5R7S5IzpT/F/nmSjyc5+9x7+6Mkb5tb9xzpN9X7zUz7SPoN//lnpl192sdRqxz7\nWad1P5vkDDPTd5/K/9iZaW+ftvmouW18O8mBazjPa7oOFixzukw38qss9/EkX18wfdfpWL4+e4zT\nvOcn+XWSi8xNf+m0z12mn28zbWPXueXuPE2//cy0HybZfx3X35nnfj5TetB719z0VT8TFhzzFzLz\nWZBes7olySXm3tevz/y857Tufefeg89M695lvddEkktM23zMWs/LtN5SKPz4tP7vk7w2yU1XOe5F\nry1Jzjaz7JFJ3jT9/63T78F5ZrazJcmtZ5Z/eBZ8zs/t//gkn1gwfYc/q728TmkvzeEYzbmmf3+/\nYN4n0v+oLL0etpEdtNYu1lq7/Oy0qrp8Ve2XPrjA89L7z9wp/cbl8W1rf5v5bf1Xktsl+Z8kN0ry\nlPSn3QdX7/uzbtWHNd4t23Z6/lD6H9A9Fq0y7fPI9ID35vSbrtu3HWyS11rb0lp7d2vtjulP75+U\n3hxj/yQ/rgWjHi3YxvF/LmjV6avqfFP5Dk1yzVVW3y39yfAzVtnHH2f2cc7pCe2nkpy3tm/6+NvW\n2ltWK/cyfpt+s/Z3G1z/Y22mrX9r7Xvp7+3tZqbNHssZp2P5RpI/Zvvz1ZJsN6rgjGun16B9Lclt\nW2vHzMy7fqbaxqm51i7Tvs6Sfj3/zVSGs6TXXLxl9npqrX01W2viVnLD9N/rl7WttVhprb0t/Xrd\ndW75lv4QYNan0592r2id18Hseks3vzeoqgustp8V7DN7jJO7pj8gOW7uPH80vebuBjPLHZHkc3PL\nfSa9xvFvskFz5+U86e/Hp7P6799a/Hfb2kcy2XpNrNTk+G/Ta8zeMFPGE7P8gBMbviaWU1Xnqqq9\n08/5a9OD4T8kuVBr7b6ttf9ZZRN7Jbnl3OtW6cF2kWekP+R77EbLPDlm2s42NuOzGk5phCBGs9T/\n4hwL5j0o/Q/NHtn8YXlvlD7q3HHpfZHu1Frbv62hQ29r7UOttdukj0500/Q/5JdM8t4NtgG//bSt\nL1XVpacmGpdIvzG916IipDfhuGWSu6U3Mzl/+pPATdNa+3lr7YXpN21vTPKXSZ641O9hOVPweWJV\nfT/9Rv6XSX6RfgNz7lV2e6kkx7XWfrjKPq5eVe+rPiDE79ID4Sun2fP7+NEq+1zJ69Kbxrypet+V\nN1TVndaOslBcAAAY80lEQVSx/iELph2cZJeqOlvy5/4Zz6uqw9OvxyPTa3LOlMXna7lzU+mjfB2e\n5A6ttePm5l92+vcd2fbhwi/S+5+du6pOn167ePplyr6W5lKXSL9GF41o9d1p/qxfte0HFPhNklV/\nl9Z5Hcx7bHot7U+r9xd70nzfljU4dK48p0v/LNgt257jI9ObdbUkS/2iLpv+OzW/3BHp53+b/lPr\nUVW7Ve8Ldlz6A4hfpNfGrHZOVtPSg+ys36Rfeyu9X5dI8qMFn6+HZPEABxu+JlZwsSQPSQ8Uz07y\nN621fVprix7AzWtJvtZaO3DBa+HfpulB2n5JHlkzffI24OzZ+ndyceE2+FkNpzT6BDGU1tpR1b8Y\n7yoL5n0x6R1ks/kjAb0rPTjcP8m+01Oz1yV53Wo34DPlOy69RuZ/q+rX6W23b5P1D2N7r/Q/svOd\nnVvSR5drrX1+bt7nl2qrpv5Dn0t/wn/52ZqYjaqqSn/Keb/0WpAzpre732fuKfAiz0nvJ7B3em3e\nb9Objrwqm/CgZ3py/4n0m8W90m9E/5gebJ+2YB8bHrGrtfb76t9Dcov02pvbJtmjqt7bWtto7dC8\nfdKbQL0ovR/aUenv/Xuy+Hwtdzwt/aZrz/RwvO/c/NNNyzw8iwNKWmtb+lt/slruwcOKBdnAdbCN\n1trrq+pj6ef+Vum/v0+sql1b7zezmpbt34uaXu9J8rJl1lsazOJ0U5kfkMXHutzIkCuq/r0/b0+v\ncXzQtJ0T0t/3W62w6lpt6P06Bezje+nn+oHp/XQeWVVvSfKapb81J4Fnptf4PSbJ57PO8lfV5dPv\nCxc9kFhaZkc+q+EURQhiRO9P8oCqunY76QZH2EbrnfNfkN6J+ibpfxgfn+QpVfU/SV6T3k9prcMP\nfyn9D9xfrqccVXWu9OZB+6bfOM37z/SasPkQ9GettROq6knp3030kPS+BxtSfbjy+6XfSF80/Sbt\nOel9WNY6Ot9u6f0XHjG37fOtYd3vJzlLVV2qbR04YN6t05/m3rS19rWZ7f/1Gsu3LtONxEem1z9N\ngfmJVXWd1toXVln9sgumXS79Sfex0w3MnZPs3Vp70tIC05Pjs2+guA9Lb3L16qo6qrU2G6y/n6lz\n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\nggAAgKEIQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGCAACAoQhBAADA\nUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQBAABDEYIAAIChCEEAAMBQhCAAAGAoQhAA\nADAUIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQ\nBAAADEUIAgAAhiIEAQAAQxGCAACAoQhBAADAUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACG\nIgQBAABDEYIAAIChCEEAAMBQhCAAAGAoQhAAADAUIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMRggAA\ngKEIQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGCAACAoQhBAADAUIQg\nAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQBAABDEYIAAIChCEEAAMBQhCAAAGAoQhAAADAU\nIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAA\nDEUIAgAAhiIEAQAAQxGCAACAoQhBAADAUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQB\nAABDEYIAAIChCEEAAMBQhCAAAGAoQhAAADAUIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEI\nQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGCAACAoQhBAADAUIQgAABg\nKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQBAABDEYIAAIChCEEAAMBQhCAAAGAoQhAAADAUIQgA\nABiKEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAADEUI\nAgAAhiIEAQAAQxGCAACAoQhBAADAUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQBAABD\nEYIAAIChCEEAAMBQhCAAAGAoQhAAADAUIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAA\nwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGCAACAoQhBAADAUIQgAABgKEIQ\nAAAwFCEIAAAYihAEAAAMRQgCAACGIgQBAABDEYIAAIChCEEAAMBQhCAAAGAoQhAAADAUIQgAABiK\nEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAADEUIAgAA\nhiIEAQAAQxGCAACAoQhBAADAUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQBAABDEYIA\nAIChCEEAAMBQhCAAAGAoQhAAADAUIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCE\nIAAAYChCEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGCAACAoQhBAADAUIQgAABgKEIQAAAw\nFCEIAAAYihAEAAAMRQgCAACGIgQBAABDEYIAAIChCEEAAMBQhCAAAGAoQhAAADAUIQgAABiKEAQA\nAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIE\nAQAAQxGCAACAoQhBAADAUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQBAABDEYIAAICh\nCEEAAMBQhCAAAGAoQhAAADAUIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAA\nYChCEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGCAACAoQhBAADAUIQgAABgKEIQAAAwFCEI\nAAAYihAEAAAMRQgCAACGIgQBAABDEYIAAIChCEEAAMBQhCAAAGAoQhAAADAUIQgAABiKEAQAAAxF\nCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAA\nQxGCAACAoQhBAADAUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQBAABDEYIAAIChCEEA\nAMBQhCAAAGAoQhAAADAUIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAAYChC\nEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGCAACAoQhBAADAUIQgAABgKEIQAAAwFCEIAAAY\nihAEAAAMRQgCAACGIgQBAABDEYIAAIChCEEAAMBQhCAAAGAoQhAAADAUIQgAABiKEAQAAAxFCAIA\nAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGC\nAACAoQhBAADAUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQBAABDEYIAAIChCEEAAMBQ\nhCAAAGAoQhAAADAUIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAAYChCEAAA\nMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGCAACAoQhBAADAUIQgAABgKEIQAAAwFCEIAAAYihAE\nAAAMRQgCAACGIgQBAABDEYIAAIChCEEAAMBQhCAAAGAoQhAAADAUIQgAABiKEAQAAAxFCAIAAIYi\nBAEAAEMRggAAgKEIQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGCAACA\noQhBAADAUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQBAABDEYIAAIChCEEAAMBQhCAA\nAGAoQhAAADAUIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAAYChCEAAAMBQh\nCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGCAACAoQhBAADAUIQgAABgKEIQAAAwFCEIAAAYihAEAAAM\nRQgCAACGIgQBAABDEYIAAIChCEEAAMBQhCAAAGAoQhAAADAUIQgAABiKEAQAAAxFCAIAAIYiBAEA\nAEMRggAAgKEIQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGCAACAoQhB\nAADAUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQBAABDEYIAAIChCEEAAMBQhCAAAGAo\nQhAAADAUIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAAYChCEAAAMBQhCAAA\nGIoQBAAADEUIAgAAhiIEAQAAQxGCAACAoQhBAADAUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgC\nAACGIgQBAABDEYIAAIChCEEAAMBQhCAAAGAoQhAAADAUIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMR\nggAAgKEIQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGCAACAoQhBAADA\nUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQBAABDEYIAAIChCEEAAMBQhCAAAGAoQhAA\nADAUIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQ\nBAAADEUIAgAAhiIEAQAAQxGCAACAoQhBAADAUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACG\nIgQBAABDEYIAAIChCEEAAMBQhCAAAGAoQhAAADAUIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMRggAA\ngKEIQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAADEUIAgAAhiIEAQAAQxGCAACAoQhBAADAUIQg\nAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQBAABDEYIAAIChCEEAAMBQhCAAAGAoQhAAADAU\nIQgAABiKEAQAAAxFCAIAAIYiBAEAAEMRggAAgKEIQQAAwFCEIAAAYChCEAAAMBQhCAAAGIoQBAAA\nDEUIAgAAhiIEAQAAQxGCAACAoQhBAADAUIQgAABgKEIQAAAwFCEIAAAYihAEAAAMRQgCAACGIgQB\nAPz/7deBAAAAAIAgf+tBLouAFQkCAABWJAgAAFiRIAAAYEWCAACAFQkCAABWJAgAAFiRIAAAYEWC\nAACAFQkCAABWJAgAAFiRIAAAYEWCAACAFQkCAABWJAgAAFiRIAAAYEWCAACAFQkCAABWJAgAAFiR\nIAAAYEWCAACAFQkCAABWJAgAAFiRIAAAYEWCAACAFQkCAABWJAgAAFiRIAAAYEWCAACAFQkCAABW\nJAgAAFiRIAAAYEWCAACAFQkCAABWJAgAAFiRIAAAYEWCAACAFQkCAABWJAgAAFiRIAAAYEWCAACA\nFQkCAABWJAgAAFiRIAAAYEWCAACAFQkCAABWJAgAAFiRIAAAYEWCAACAFQkCAABWJAgAAFiRIAAA\nYEWCAACAFQkCAABWJAgAAFiRIAAAYEWCAACAFQkCAABWJAgAAFiRIAAAYEWCAACAFQkCAABWJAgA\nAFiRIAAAYEWCAACAFQkCAABWJAgAAFiRIAAAYEWCAACAFQkCAABWJAgAAFiRIAAAYEWCAACAFQkC\nAABWJAgAAFiRIAAAYEWCAACAFQkCAABWJAgAAFiRIAAAYEWCAACAFQkCAABWJAgAAFiRIAAAYEWC\nAACAFQkCAABWJAgAAFiRIAAAYEWCAACAFQkCAABWJAgAAFiRIAAAYEWCAACAFQkCAABWJAgAAFiR\nIAAAYEWCAACAFQkCAABWAvvhwRhTc1pxAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xcfae7406d8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "for split in ['train', 'val']:\n",
    "    minibatch = sample_coco_minibatch(small_data, split=split, batch_size=2)\n",
    "    gt_captions, features, urls = minibatch\n",
    "    gt_captions = decode_captions(gt_captions, data['idx_to_word'])\n",
    "\n",
    "    sample_captions = small_lstm_model.sample(features)\n",
    "    sample_captions = decode_captions(sample_captions, data['idx_to_word'])\n",
    "\n",
    "    for gt_caption, sample_caption, url in zip(gt_captions, sample_captions, urls):\n",
    "#         plt.imshow(image_from_url(url))\n",
    "        print(url)\n",
    "        plt.title('%s\\n%s\\nGT:%s' % (split, sample_caption, gt_caption))\n",
    "        plt.axis('off')\n",
    "        plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Extra Credit: Train a good captioning model!\n",
    "Using the pieces you have implemented in this and the previous notebook, try to train a captioning model that gives decent qualitative results (better than the random garbage you saw with the overfit models) when sampling on the validation set. You can subsample the training set if you want; we just want to see samples on the validation set that are better than random.\n",
    "\n",
    "In addition to qualitatively evaluating your model by inspecting its results, you can also quantitatively evaluate your model using the BLEU unigram precision metric. We'll give you a small amount of extra credit if you can train a model that achieves a BLEU unigram score of >0.3. BLEU scores range from 0 to 1; the closer to 1, the better. Here's a reference to the [paper](http://www.aclweb.org/anthology/P02-1040.pdf) that introduces BLEU if you're interested in learning more about how it works.\n",
    "\n",
    "Feel free to use PyTorch or TensorFlow for this section if you'd like to train faster on a GPU... though you can definitely get above 0.3 using your Numpy code. We're providing you the evaluation code that is compatible with the Numpy model as defined above... you should be able to adapt it for TensorFlow/PyTorch if you go that route."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [],
   "source": [
    "import nltk\n",
    "def BLEU_score(gt_caption, sample_caption):\n",
    "    \"\"\"\n",
    "    gt_caption: string, ground-truth caption\n",
    "    sample_caption: string, your model's predicted caption\n",
    "    Returns unigram BLEU score.\n",
    "    \"\"\"\n",
    "    reference = [x for x in gt_caption.split(' ') \n",
    "                 if ('<END>' not in x and '<START>' not in x and '<UNK>' not in x)]\n",
    "    hypothesis = [x for x in sample_caption.split(' ') \n",
    "                  if ('<END>' not in x and '<START>' not in x and '<UNK>' not in x)]\n",
    "    BLEUscore = nltk.translate.bleu_score.sentence_bleu([reference], hypothesis, weights = [1])\n",
    "    return BLEUscore\n",
    "\n",
    "def evaluate_model(model):\n",
    "    \"\"\"\n",
    "    model: CaptioningRNN model\n",
    "    Prints unigram BLEU score averaged over 1000 training and val examples.\n",
    "    \"\"\"\n",
    "    BLEUscores = {}\n",
    "    for split in ['train', 'val']:\n",
    "        minibatch = sample_coco_minibatch(small_data, split=split, batch_size=1000)\n",
    "        gt_captions, features, urls = minibatch\n",
    "        gt_captions = decode_captions(gt_captions, data['idx_to_word'])\n",
    "\n",
    "        sample_captions = model.sample(features)\n",
    "        sample_captions = decode_captions(sample_captions, data['idx_to_word'])\n",
    "\n",
    "        total_score = 0.0\n",
    "        for gt_caption, sample_caption, url in zip(gt_captions, sample_captions, urls):\n",
    "            try:\n",
    "                total_score += BLEU_score(gt_caption, sample_caption)\n",
    "            except (IOError ,ZeroDivisionError) as x:\n",
    "                print (x)\n",
    "\n",
    "        BLEUscores[split] = total_score / len(sample_captions)\n",
    "\n",
    "    for split in BLEUscores:\n",
    "        print('Average BLEU score for %s: %f' % (split, BLEUscores[split]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fraction(0, 0)\n",
      "Fraction(0, 0)\n",
      "Fraction(0, 0)\n",
      "Fraction(0, 0)\n",
      "Fraction(0, 0)\n",
      "Fraction(0, 0)\n",
      "Fraction(0, 0)\n",
      "Fraction(0, 0)\n",
      "Fraction(0, 0)\n",
      "Fraction(0, 0)\n",
      "Fraction(0, 0)\n",
      "Fraction(0, 0)\n",
      "Fraction(0, 0)\n",
      "Fraction(0, 0)\n",
      "Average BLEU score for val: 0.171059\n",
      "Average BLEU score for train: 1.000000\n"
     ]
    }
   ],
   "source": [
    "evaluate_model(small_lstm_model)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  },
  "nbTranslate": {
   "displayLangs": [
    "*"
   ],
   "hotkey": "alt-t",
   "langInMainMenu": true,
   "sourceLang": "en",
   "targetLang": "fr",
   "useGoogleTranslate": true
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  },
  "varInspector": {
   "cols": {
    "lenName": 16,
    "lenType": 16,
    "lenVar": 40
   },
   "kernels_config": {
    "python": {
     "delete_cmd_postfix": "",
     "delete_cmd_prefix": "del ",
     "library": "var_list.py",
     "varRefreshCmd": "print(var_dic_list())"
    },
    "r": {
     "delete_cmd_postfix": ") ",
     "delete_cmd_prefix": "rm(",
     "library": "var_list.r",
     "varRefreshCmd": "cat(var_dic_list()) "
    }
   },
   "types_to_exclude": [
    "module",
    "function",
    "builtin_function_or_method",
    "instance",
    "_Feature"
   ],
   "window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
